From 80657b1c29ec9dea947426fccc1ffc7b20a6d97a Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 24 Oct 2011 11:07:27 +0200 Subject: [PATCH 001/119] [IMP] support for jsonp bzr revid: chs@openerp.com-20111024090727-f8w5wv08ugxnrpt8 --- addons/web/__openerp__.py | 1 + addons/web/common/http.py | 137 ++++++++++++++++++++++++++----- addons/web/common/session.py | 4 +- addons/web/static/src/js/core.js | 29 +++---- 4 files changed, 132 insertions(+), 39 deletions(-) diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 0afd43190d6..1cff3c7956b 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -28,6 +28,7 @@ "static/lib/underscore/underscore.string.js", "static/lib/labjs/LAB.src.js", "static/lib/py.parse/lib/py.js", + "static/src/js/jq_ajax.js", "static/src/js/boot.js", "static/src/js/core.js", "static/src/js/dates.js", diff --git a/addons/web/common/http.py b/addons/web/common/http.py index e23a0431a7c..ed7a5344192 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -85,13 +85,23 @@ class WebRequest(object): self.httpresponse = None self.httpsession = request.session self.config = config + self.session = None + + def init_session(self, session_id): + if self.session: + assert self.session.id == session_id + return + + self.session_id = session_id or uuid.uuid4().hex + self.session = self.httpsession.setdefault(self.session_id, session.OpenERPSession(self.session_id)) + self.session.config = self.config def init(self, params): self.params = dict(params) + # OpenERP session setup - self.session_id = self.params.pop("session_id", None) or uuid.uuid4().hex - self.session = self.httpsession.setdefault(self.session_id, session.OpenERPSession()) - self.session.config = self.config + session_id = self.params.pop("session_id", None) + self.init_session(session_id) self.context = self.params.pop('context', None) self.debug = self.params.pop('debug', False) != False @@ -129,25 +139,88 @@ class JsonRequest(WebRequest): """ - def dispatch(self, controller, method, requestf=None, request=None): - """ Calls the method asked for by the JSON-RPC2 request + + def _init_jsonrpc2(self): + assert self.jsonrequest.get('jsonrpc') == '2.0' + self.init(self.jsonrequest.get("params", {})) + response = {"jsonrpc": "2.0" } + return response + + def _init_jsonp(self): + self.init(self.jsonrequest) + return {} + + + def dispatch(self, controller, method): + """ Calls the method asked for by the JSON-RPC2 or JSONP request :param controller: the instance of the controller which received the request :param method: the method which received the request - :param requestf: a file-like object containing an encoded JSON-RPC2 request - :param request: a JSON-RPC2 request - :returns: an utf8 encoded JSON-RPC2 reply + :returns: an utf8 encoded JSON-RPC2 or JSONP reply """ - response = {"jsonrpc": "2.0" } + + requestf = self.httprequest.stream + direct_json_request = None + jsonp_callback = None + if requestf: + direct_json_request = requestf.read() + + if not direct_json_request: + params = self.httprequest.args + direct_json_request = params.get('r') + jsonp_callback = params.get('callback') + + if direct_json_request: + try: + self.jsonrequest = simplejson.loads(direct_json_request, object_hook=nonliterals.non_literal_decoder) + except Exception, e: + _logger.error(e) + return werkzeug.exceptions.BadRequest(e) + else: + # no direct json request, try to get it from jsonp POST request + params = self.httprequest.args + rid = params.get('rid') + session_id = params.get('sid') + if session_id: + self.init_session(session_id) + stored_request = self.session.jsonp_requests.get(rid, {}) + else: + stored_request = {} + + jsonp_callback = stored_request.get('jsonp') + self.jsonrequest = stored_request.get('params', {}) + + + if self.jsonrequest.get('jsonrpc') == '2.0': + response = self._init_jsonrpc2() + + def build_response(response): + content = simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder) + return werkzeug.wrappers.Response( + content, headers=[('Content-Type', 'application/json'), + ('Content-Length', len(content))]) + + + elif jsonp_callback: + + response = self._init_jsonp() + + def build_response(response): + content = "%s(%s);" % (\ + jsonp_callback, + simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder), + ) + + return werkzeug.wrappers.Response( + content, headers=[('Content-Type', 'application/javascript'), + ('Content-Length', len(content))]) + + else: + return werkzeug.exceptions.BadRequest() + error = None try: - # Read POST content or POST Form Data named "request" - if requestf: - self.jsonrequest = simplejson.load(requestf, object_hook=nonliterals.non_literal_decoder) - else: - self.jsonrequest = simplejson.loads(request, object_hook=nonliterals.non_literal_decoder) - self.init(self.jsonrequest.get("params", {})) if _logger.isEnabledFor(logging.DEBUG): _logger.debug("--> %s.%s\n%s", controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest)) response['id'] = self.jsonrequest.get('id') @@ -188,10 +261,8 @@ class JsonRequest(WebRequest): if _logger.isEnabledFor(logging.DEBUG): _logger.debug("<--\n%s", pprint.pformat(response)) - content = simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder) - return werkzeug.wrappers.Response( - content, headers=[('Content-Type', 'application/json'), - ('Content-Length', len(content))]) + + return build_response(response) def jsonrequest(f): """ Decorator marking the decorated method as being a handler for a @@ -205,8 +276,7 @@ def jsonrequest(f): """ @functools.wraps(f) def json_handler(controller, request, config): - return JsonRequest(request, config).dispatch( - controller, f, requestf=request.stream) + return JsonRequest(request, config).dispatch(controller, f) json_handler.exposed = True return json_handler @@ -300,7 +370,8 @@ def session_context(request, storage_path, session_cookie='sessionid'): # either by login process or by HTTP requests without an OpenERP # session id, and are generally noise for key, value in request.session.items(): - if isinstance(value, session.OpenERPSession) and not value._uid: + if isinstance(value, session.OpenERPSession) and not value._uid and not value.jsonp_requests: + _logger.info('remove session %s: %r', key, value.jsonp_requests) del request.session[key] # FIXME: remove this when non-literals disappear @@ -344,6 +415,28 @@ class ControllerType(type): class Controller(object): __metaclass__ = ControllerType + +class JSONP(Controller): + _cp_path = '/web/jsonp' + + @httprequest + def post(self, req, request_id, params, callback): + params = simplejson.loads(params, object_hook=nonliterals.non_literal_decoder) + params.update( + session_id=req.session.id, + ) + params['session_id'] = req.session.id + req.session.jsonp_requests[request_id] = { + 'jsonp': callback, + 'params': params, + 'id': request_id, + } + + headers=[('Content-Type', 'text/plain; charset=utf-8')] + response = werkzeug.wrappers.Response(request_id, headers=headers) + return response + + class Root(object): """Root WSGI application for the OpenERP Web Client. diff --git a/addons/web/common/session.py b/addons/web/common/session.py index e8027db8ea4..06f46faa9d0 100644 --- a/addons/web/common/session.py +++ b/addons/web/common/session.py @@ -28,7 +28,8 @@ class OpenERPSession(object): Used to store references to non-literal domains which need to be round-tripped to the client browser. """ - def __init__(self): + def __init__(self, sid): + self.id = sid self.config = None self._db = False self._uid = False @@ -37,6 +38,7 @@ class OpenERPSession(object): self.context = {} self.contexts_store = {} self.domains_store = {} + self.jsonp_requests = {} # FIXME use a LRU def __getstate__(self): state = dict(self.__dict__) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 4ed33341ea6..1b6a6302f72 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -346,12 +346,12 @@ openerp.web.Session = openerp.web.CallbackEnabled.extend( /** @lends openerp.web * @param {String} [server] JSON-RPC endpoint hostname * @param {String} [port] JSON-RPC endpoint port */ - init: function(server, port) { + init: function(server) { this._super(); - this.server = (server == undefined) ? location.hostname : server; - this.port = (port == undefined) ? location.port : port; - this.rpc_mode = (server == location.hostname) ? "ajax" : "jsonp"; - this.debug = (window.location.search.indexOf('?debug') !== -1); + var hostname = _('%s//%s').sprintf(location.protocol, location.host); + this.server = (server == undefined) ? hostname : server; + this.rpc_mode = (this.server == hostname) ? "oe-json" : "oe-jsonp"; + this.debug = ($.deparam($.param.querystring()).debug != undefined); this.session_id = false; this.uid = false; this.user_context= {}; @@ -390,13 +390,9 @@ openerp.web.Session = openerp.web.CallbackEnabled.extend( /** @lends openerp.web // Call using the rpc_mode var deferred = $.Deferred(); - this.rpc_ajax(url, { - jsonrpc: "2.0", - method: "call", - params: params, - id: _.uniqueId('browser-client-') - }).then(function () {deferred.resolve.apply(deferred, arguments);}, - function(error) {deferred.reject(error, $.Event());}); + this.rpc_ajax(url, params) + .then(function () {deferred.resolve.apply(deferred, arguments);}, + function(error) {deferred.reject(error, $.Event());}); return deferred.fail(function() { deferred.fail(function(error, event) { if (!event.isDefaultPrevented()) { @@ -422,10 +418,11 @@ openerp.web.Session = openerp.web.CallbackEnabled.extend( /** @lends openerp.web var ajax = _.extend({ type: "POST", url: url, - dataType: 'json', + dataType: this.rpc_mode, contentType: 'application/json', - data: JSON.stringify(payload), - processData: false + data: payload, + processData: false, + openerp: _.extend({}, this), // need a plainObject }, url); var deferred = $.Deferred(); $.ajax(ajax).done(function(response, textStatus, jqXHR) { @@ -440,7 +437,7 @@ openerp.web.Session = openerp.web.CallbackEnabled.extend( /** @lends openerp.web } self.uid = false; self.on_session_invalid(function() { - self.rpc(url, payload.params, + self.rpc(url, payload, function() { deferred.resolve.apply(deferred, arguments); }, From 66a99fd118a5309f801d48c2cbc75ac08cc76805 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 25 Oct 2011 11:50:16 +0200 Subject: [PATCH 002/119] [FIX] web: add missing file bzr revid: chs@openerp.com-20111025095016-4ebswa44be2h4cmd --- addons/web/static/src/js/jq_ajax.js | 192 ++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 addons/web/static/src/js/jq_ajax.js diff --git a/addons/web/static/src/js/jq_ajax.js b/addons/web/static/src/js/jq_ajax.js new file mode 100644 index 00000000000..cf90016ba4c --- /dev/null +++ b/addons/web/static/src/js/jq_ajax.js @@ -0,0 +1,192 @@ + + $.ajaxSetup({ + converters: { + "json oe-jsonp": true, + "json oe-json": true, + } + }); + + + // common preconditions checks + $.ajaxPrefilter("oe-json oe-jsonp", function(options, originalOptions, jqXHR) { + console.log('use', options.dataType); + if (!$.isPlainObject(options.openerp)) { + console.error(options.openerp); + $.error('"openerp" option is required.'); + } + + if (_(options.openerp.server).endsWith('/')) { + options.openerp.server = options.openerp.server.substr(0, options.openerp.server.length-1); + } + + if (!$.isPlainObject(options.data)) { + $.error('data must not be serialized'); + } + options.processData = false; + }); + + + + $.ajaxPrefilter("oe-json", function(options, originalOptions, jqXHR) { + options.data = JSON.stringify({ + jsonrpc: '2.0', + method: 'call', + params: options.data, + id: _.uniqueId('browser-client-') + }); + + return 'json'; + }); + + + $.ajaxPrefilter("oe-jsonp", function(options, originalOptions, jqXHR) { + + var data = null; + if (options.data) { + data = $.param({r:JSON.stringify(options.data)}); + } + + + var max_url_length = options.max_url_length || 1000, + absolute_url, full_url; + + var r_has_protocol = /^https?:\/\//, + r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) + + + if (r_has_protocol.test(options.url)) { + if (!_(options.url).startsWith(options.openerp.server + '/')) { + $.error('can only contact openerp.server'); + } + absolute_url = options.url; + } else if (r_absolute_internal.test(options.url)) { + absolute_url = options.openerp.server + options.url; + } else { // relative url + var parts = document.location.pathname.split('/'); + parts.pop(); + parts.push(options.url); + absolute_url = options.openerp.server + parts.join('/'); + } + + + /// now, made the same url changes that jQuery will do... + var rquery = /\?/, + rts = /([?&])_=[^&]*/; + + full_url = absolute_url; + if (data) { + full_url += (rquery.test(full_url) ? "&" : "?") + data; + } + + // Add anti-cache in url if needed + if (!options.cache) { + var ts = $.now(), + // try replacing _= if it is there + ret = full_url.replace(rts, "$1_=" + ts); + + // if nothing was replaced, add timestamp to the end + full_url = ret + ((ret === full_url) ? (rquery.test(full_url) ? "&" : "?") + "_=" + ts : ""); + } + + console.log('absolute_url', absolute_url); + console.log('full_url', full_url); + + options.url = absolute_url; + + if (full_url.length < max_url_length) { + options.type = "GET"; + options.data = data; + return "jsonp"; // classic jsonp query... + } + }); + + + $.ajaxTransport("oe-jsonp", function(options, originalOptions, jqXHR) { + + console.log('real oe-jsonp', options); + var $iframe = null; + var $form = $('
') + .attr('method', 'POST') + .attr('enctype', "multipart/form-data") + .attr('action', options.openerp.server + "/web/jsonp/post") + .hide() + .appendTo($('body')) + ; + + console.log($form); + + function cleanUp() { + if ($iframe) { + $iframe.unbind("load").attr("src", "javascript:false;").remove(); + } + $form.remove(); + } + + return { + + send: function(headers, completeCallback) { + + var ifid = _.uniqueId('oe_jsonp_iframe_'); + var request_id = _.uniqueId('browser-client-'); + var oe_callback = _.uniqueId('oe_callback_'); + + window[oe_callback] = function(result) { + completeCallback(200, 'success', {json: result}); + }; + + + $iframe = $(_("").sprintf(ifid, ifid)); + + + // the first bind is fired up when the iframe is added to the DOM + $iframe.bind('load', function() { + //console.log('bind1', this); + // the second bind is fired up when the result of the form submission is received + $iframe.unbind('load').bind('load', function() { + //console.log('bind2', this); + + // we cannot access the content of remote iframe. + // but we don't care, we try to get the result in any cases + + $.ajax({ + type: "GET", + url: options.url, + dataType: 'jsonp', + jsonp: false, // do not append callback=? argument on query string + jsonpCallback: oe_callback, + data: { + sid: options.openerp.session_id, + rid: request_id, + }, + }).always(function() { + cleanUp(); + }); + + }); + + + // now that the iframe can receive data, we fill and submit the form + var params = JSON.stringify(options.data); + + $form + .append($('').attr('value', options.openerp.session_id)) + .append($('').attr('value', request_id)) + .append($('').attr('value', params)) + .append($('').attr('value', oe_callback)) + .submit() + ; + + }); + + $form.attr('target', ifid) // set the iframe as target of the form + .after($iframe); // append the iframe to the DOM (will trigger the first load) + + }, + abort: function() { + cleanUp(); + }, + }; + + }); + + From 1b7125432843d0db93628b04e56065e77d7d14ee Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 26 Oct 2011 15:27:14 +0200 Subject: [PATCH 003/119] [FIX] jsonp: force crossdomain request bzr revid: chs@openerp.com-20111026132714-6uko5u7f35y2yaj4 --- addons/web/static/src/js/jq_ajax.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/web/static/src/js/jq_ajax.js b/addons/web/static/src/js/jq_ajax.js index cf90016ba4c..8d347c398d7 100644 --- a/addons/web/static/src/js/jq_ajax.js +++ b/addons/web/static/src/js/jq_ajax.js @@ -41,6 +41,8 @@ $.ajaxPrefilter("oe-jsonp", function(options, originalOptions, jqXHR) { + options.crossDomain = true; + var data = null; if (options.data) { data = $.param({r:JSON.stringify(options.data)}); From fd9ec559cbe39c6dd38a81be46c51c1e7bb0e220 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Tue, 8 Nov 2011 16:50:23 +0530 Subject: [PATCH 004/119] [IMP] marketing_campaign, marketing_campaign_crm_demo: Traceback generate when processing workitem, and Improved demo data of Email template bzr revid: ron@tinyerp.com-20111108112023-1fwd5vdez50lmiiw --- .../marketing_campaign/marketing_campaign.py | 2 +- .../marketing_campaign_demo.xml | 64 +++++++++---------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 547281911c4..9dc48c99873 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -707,7 +707,7 @@ class marketing_campaign_workitem(osv.osv): if result: # process _chain - workitem = workitem.browse(context)[0] # reload + workitem = workitem.browse(context=context)[0] # reload date = datetime.strptime(workitem.date, DT_FMT) for transition in activity.to_ids: diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml index ee11fbcdb75..b89daa50438 100644 --- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml +++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml @@ -34,27 +34,27 @@ - Thanks for showing interest in OpenERP - info@tinyerp.com + Thanks for showing interest in OpenERP + info@tinyerp.com - + - Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team, + Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team, mako For OpenERP OnDemand Free Trial 2010 crm.lead - Propose to subscribe to the OpenERP Discovery Day on May 2010 - info@tinyerp.com + Propose to subscribe to the OpenERP Discovery Day on May 2010 + info@tinyerp.com - + - Hello,We have very good offer that might suit you. + Hello,We have very good offer that might suit you. We propose you to subscribe to the OpenERP Discovery Day on May 2010. If any further information required kindly revert back. We really appreciate your co-operation on this. @@ -65,14 +65,14 @@ - Thanks for subscribing to the OpenERP Discovery Day - info@tinyerp.com + Thanks for subscribing to the OpenERP Discovery Day + info@tinyerp.com - + - Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day. + Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, @@ -82,14 +82,14 @@ - Thanks for buying the OpenERP book - info@tinyerp.com + Thanks for buying the OpenERP book + info@tinyerp.com - + - Hello,Thanks for showing intrest and buying the OpenERP book. + Hello,Thanks for showing intrest and buying the OpenERP book. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, @@ -99,14 +99,14 @@ - Propose a free technical training to Gold partners - info@tinyerp.com + Propose a free technical training to Gold partners + info@tinyerp.com - + - Hello, We have very good offer that might suit you. + Hello, We have very good offer that might suit you. For our gold partners,We are arranging free technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -117,14 +117,14 @@ - Propose paid training to Silver partners - info@tinyerp.com + Propose paid training to Silver partners + info@tinyerp.com - + - Hello, We have very good offer that might suit you. + Hello, We have very good offer that might suit you. For our silver partners,We are paid technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -135,14 +135,14 @@ - Propose gold partnership to silver partners - info@tinyerp.com + Propose gold partnership to silver partners + info@tinyerp.com - + - Hello, We have very good offer that might suit you. + Hello, We have very good offer that might suit you. For our silver partners,We are offering Gold partnership. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -153,14 +153,14 @@ - Thanks for subscribing to technical training - info@tinyerp.com + Thanks for subscribing to technical training + info@tinyerp.com - + - Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this. + Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this. Regards,OpenERP Team, mako For subscribing to technical training From cf3c4d24cc07567dd5b5c70dced59e11961d0e1e Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Tue, 8 Nov 2011 17:38:26 +0530 Subject: [PATCH 005/119] [IMP] marketing_campaign_crm_demo: Improved demo data of Campaing on active mode bzr revid: ron@tinyerp.com-20111108120826-niki9oul07sdnl8q --- addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml index b89daa50438..90db37f2176 100644 --- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml +++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml @@ -181,6 +181,7 @@ OpenERP OnDemand Free Trial 2010 + active From 10bbbad52f76a7fc40eaf6de94bf9b3d14f8ff02 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 9 Nov 2011 09:14:59 +0100 Subject: [PATCH 006/119] [FIX] base.xml: use full absolute url for all images bzr revid: chs@openerp.com-20111109081459-b031iutztocpxo9w --- addons/web/static/src/xml/base.xml | 72 +++++++++++++++--------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 1fc98ba34ee..01da70335b6 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -264,7 +264,7 @@
- +
@@ -304,7 +304,7 @@ @@ -813,7 +813,7 @@ @@ -826,12 +826,12 @@ t-attf-class="field_#{widget.type}" t-attf-style="width: #{widget.field.translate ? '99' : '100'}%" > - +
-
- + Full featured
@@ -313,7 +313,7 @@
- + Open Source
@@ -322,7 +322,7 @@
- + User Friendly
@@ -350,13 +350,13 @@
  • - +
  • - +
  • - +
@@ -694,7 +694,7 @@ @@ -779,7 +779,7 @@ t-attf-class="field_#{widget.type}" t-attf-style="width: #{widget.field.translate ? '99' : '100'}%" /> - +
- @@ -938,14 +938,14 @@
@@ -973,7 +973,7 @@ @@ -982,13 +982,13 @@ @@ -996,7 +996,7 @@ - + Uploading ... @@ -1007,7 +1007,7 @@ @@ -1057,7 +1057,7 @@ t-att-title="attrs.help" t-att-class="classes.join(' ')" t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined"> - +
@@ -1204,7 +1204,7 @@ - +

@@ -1292,7 +1292,7 @@

+ t-att-src='widget.session.server + "/web/static/src/img/collapse.gif"' width="16" height="16" border="0"/> @@ -1305,22 +1305,22 @@
+ id="side-add" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-add.png"' style="cursor: pointer;"/> - + + id="side-edit" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-edit.png"' style="cursor: pointer;"/> + id="side-up" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-go-up.png"' style="cursor: pointer;"/> + id="side-down" t-att-src='widget.session.server + "/web/static/src/img/icons/gtk-go-down.png"' style="cursor: pointer;"/>
@@ -1402,7 +1402,7 @@ - + @@ -1518,7 +1518,7 @@ - + From bccc64ac7c2a6671a15f74d13465c27b8f13e9d8 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 9 Nov 2011 09:16:26 +0100 Subject: [PATCH 007/119] [FIX] use absolute url when getting css/js/qweb files + use a static proxy for getting qweb files bzr revid: chs@openerp.com-20111109081626-l868h7w8glinbxdl --- addons/web/common/http.py | 14 +++++++++ addons/web/static/src/js/core.js | 49 ++++++++++++++++++++++++++--- addons/web/static/src/js/jq_ajax.js | 21 +++---------- 3 files changed, 63 insertions(+), 21 deletions(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index ed7a5344192..ab3c3c4129b 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -9,6 +9,7 @@ import logging import urllib import os import pprint +import re import sys import traceback import uuid @@ -436,6 +437,19 @@ class JSONP(Controller): response = werkzeug.wrappers.Response(request_id, headers=headers) return response + @jsonrequest + def static_proxy(self, req, path): + #req.config.socket_port + + + #if not re.match('^/[^/]+/static/.*', path): + # return werkzeug.exceptions.BadRequest() + + env = req.httprequest.environ + port = env['SERVER_PORT'] + + o = urllib.urlopen('http://127.0.0.1:%s%s' % (port, path)) + return o.read() class Root(object): """Root WSGI application for the OpenERP Web Client. diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 951e6e2b01f..fac18f18734 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -349,7 +349,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. init: function(server) { this._super(); var hostname = _('%s//%s').sprintf(location.protocol, location.host); - this.server = (server == undefined) ? hostname : server; + this.server = _.rtrim((server == undefined) ? hostname : server, '/'); this.rpc_mode = (this.server == hostname) ? "oe-json" : "oe-jsonp"; this.debug = ($.deparam($.param.querystring()).debug != undefined); this.session_id = false; @@ -370,6 +370,29 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. start: function() { this.session_restore(); }, + + get_absolute_url: function(path) { + var r_has_protocol = /^https?:\/\//, + r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) + + + if (r_has_protocol.test(path)) { + if (!_(path).startsWith(this.server + '/')) { + $.error('can only contact openerp.server'); + } + absolute_url = path; + } else if (r_absolute_internal.test(path)) { + absolute_url = this.server + path; + } else { // relative url + // XXX is it correct to mix document.location and this.server ?? + var parts = document.location.pathname.split('/'); + parts.pop(); + parts.push(path); + absolute_url = this.server + parts.join('/'); + } + return absolute_url + }, + /** * Executes an RPC call, registering the provided callbacks. * @@ -574,11 +597,11 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. self.user_context.lang.replace("_", "-") + ".js" ]; + self.rpc('/web/webclient/qweblist', {"mods": modules}, self.do_load_qweb); self.rpc('/web/webclient/csslist', {"mods": modules}, self.do_load_css); self.rpc('/web/webclient/jslist', {"mods": modules}, function(files) { self.do_load_js(file_list.concat(files)); }); - self.rpc('/web/webclient/qweblist', {"mods": modules}, self.do_load_qweb); openerp._modules_loaded = true; }); }); @@ -587,7 +610,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. var self = this; _.each(files, function (file) { $('head').append($('', { - 'href': file, + 'href': self.get_absolute_url(file), 'rel': 'stylesheet', 'type': 'text/css' })); @@ -599,7 +622,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. var file = files.shift(); var tag = document.createElement('script'); tag.type = 'text/javascript'; - tag.src = file; + tag.src = self.get_absolute_url(file); tag.onload = tag.onreadystatechange = function() { if ( (tag.readyState && tag.readyState != "loaded" && tag.readyState != "complete") || tag.onload_done ) return; @@ -615,7 +638,23 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. do_load_qweb: function(files) { var self = this; _.each(files, function(file) { - openerp.web.qweb.add_template(file); + self.rpc({ + //url: self.get_absolute_url(file), + url: '/web/jsonp/static_proxy', + async: false, + //dataType: 'text', + + }, + { + path: file, + }, + function(xml) { + //function(result) { + // console.log('do_load_qweb', result); + // var xml = result.result; + //}).then(function(xml) { + openerp.web.qweb.add_template(_(xml).trim()); + }); }); }, on_modules_loaded: function() { diff --git a/addons/web/static/src/js/jq_ajax.js b/addons/web/static/src/js/jq_ajax.js index 8d347c398d7..19c3bb31295 100644 --- a/addons/web/static/src/js/jq_ajax.js +++ b/addons/web/static/src/js/jq_ajax.js @@ -9,16 +9,11 @@ // common preconditions checks $.ajaxPrefilter("oe-json oe-jsonp", function(options, originalOptions, jqXHR) { - console.log('use', options.dataType); if (!$.isPlainObject(options.openerp)) { console.error(options.openerp); $.error('"openerp" option is required.'); } - if (_(options.openerp.server).endsWith('/')) { - options.openerp.server = options.openerp.server.substr(0, options.openerp.server.length-1); - } - if (!$.isPlainObject(options.data)) { $.error('data must not be serialized'); } @@ -49,9 +44,10 @@ } + var max_url_length = options.max_url_length || 1000, absolute_url, full_url; - + /* var r_has_protocol = /^https?:\/\//, r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) @@ -69,7 +65,9 @@ parts.push(options.url); absolute_url = options.openerp.server + parts.join('/'); } - + // */ + + var absolute_url = options.openerp.get_absolute_url(options.url); /// now, made the same url changes that jQuery will do... var rquery = /\?/, @@ -89,9 +87,6 @@ // if nothing was replaced, add timestamp to the end full_url = ret + ((ret === full_url) ? (rquery.test(full_url) ? "&" : "?") + "_=" + ts : ""); } - - console.log('absolute_url', absolute_url); - console.log('full_url', full_url); options.url = absolute_url; @@ -105,7 +100,6 @@ $.ajaxTransport("oe-jsonp", function(options, originalOptions, jqXHR) { - console.log('real oe-jsonp', options); var $iframe = null; var $form = $('
') .attr('method', 'POST') @@ -115,8 +109,6 @@ .appendTo($('body')) ; - console.log($form); - function cleanUp() { if ($iframe) { $iframe.unbind("load").attr("src", "javascript:false;").remove(); @@ -142,11 +134,8 @@ // the first bind is fired up when the iframe is added to the DOM $iframe.bind('load', function() { - //console.log('bind1', this); // the second bind is fired up when the result of the form submission is received $iframe.unbind('load').bind('load', function() { - //console.log('bind2', this); - // we cannot access the content of remote iframe. // but we don't care, we try to get the result in any cases From a9893f1aa6abaf96b94b70b9d4ce16fd5136eeda Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Thu, 10 Nov 2011 17:47:10 +0530 Subject: [PATCH 008/119] [ADD] marketing_campaign_crm_demo: Added test/process/marketing_campaign.yml bzr revid: ron@tinyerp.com-20111110121710-zcm22g2y4uyzhtzl --- .../__openerp__.py | 3 +++ .../test/process/marketing_campaign.yml | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index 4841cc1a2e8..6c28e9226a0 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -40,6 +40,9 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca 'demo_xml': [ 'marketing_campaign_demo.xml', ], + 'test': [ + 'test/process/marketing_campaign.yml', + ], 'installable': True, 'active': False, 'certificate' : '001005497972871352957', diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml new file mode 100644 index 00000000000..8026db2a2be --- /dev/null +++ b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml @@ -0,0 +1,27 @@ +- + I created marketing campaing "OpenERP OnDemand Free Trial" to reach our partners leads + with specific activity(offers) and communication via email and take action according + to campaing activity. + Now I start this compaign. +- + !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerpondemandfreetrial0} +- + I check the campaign on Running mode. +- + !assert {model: marketing.campaign, id: marketing_campaign_openerpondemandfreetrial0}: + - state == 'running' +- + This campaign is only for Belgium partner of leads, so I assinged this Campaign + to right segment(Only for Belgium Leads), after that I start this segment. +- + !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment_bosslistusassociationslist0} +- + I check the Segment on Running mode. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: + - state == 'running' +- + I synchronized this segment manually to see all step of activity covered on this campaign. +- + !python {model: marketing.campaign.segment}: | + self.synchroniz(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")]) From 338424996898839b76bf76707779c6ed9230d004 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Thu, 10 Nov 2011 18:55:03 +0530 Subject: [PATCH 009/119] [ADD] marketing_campaign_crm_demo: Improved string on yml bzr revid: ron@tinyerp.com-20111110132503-eqaadbxvyjep4mt7 --- .../test/process/marketing_campaign.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml index 8026db2a2be..85068a9586d 100644 --- a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml +++ b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml @@ -1,7 +1,6 @@ - - I created marketing campaing "OpenERP OnDemand Free Trial" to reach our partners leads - with specific activity(offers) and communication via email and take action according - to campaing activity. + I created marketing campaing with specific activity(offers) to reach our partners + and communication via email according to campaing activity. Now I start this compaign. - !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerpondemandfreetrial0} From 8406dd639dcbc9fc6b36b4aaebf7e3084720c6fa Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Fri, 11 Nov 2011 14:24:15 +0530 Subject: [PATCH 010/119] [ADD] marketing_campaign_crm_demo: Add-Process on activity to campaing done bzr revid: ron@tinyerp.com-20111111085415-pb2rt9wl5ibmmydl --- .../test/process/marketing_campaign.yml | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml index 85068a9586d..5d21d8c901a 100644 --- a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml +++ b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml @@ -15,12 +15,43 @@ - !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment_bosslistusassociationslist0} - - I check the Segment on Running mode. + I check the segment on Running mode. - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - state == 'running' - - I synchronized this segment manually to see all step of activity covered on this campaign. + I synchronized this segment manually to see all step of activity and process covered on this campaign. - !python {model: marketing.campaign.segment}: | self.synchroniz(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")]) +- + I process the event of belgium partner which is particiapated with our campaing activity, + after processing the event, automatic email send to that partner with specific message and check + the status of event. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('res_id', '=', ref('crm.crm_case_ericdubois4')), ('segment_id', '=', ref('marketing_campaign_segment_bosslistusassociationslist0')), + ('campaign_id', '=', ref('marketing_campaign_openerpondemandfreetrial0')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) + assert ids, 'Activity items not created' + self.process(cr, uid, ids) + record = self.browse(cr, uid, ids)[0] + assert record.state == "done", "Activity item not in done state" +- + After completion of all activity i close segmentation first. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment_bosslistusassociationslist0} +- + I check the segmentation is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: + - state == 'done' +- + I close this campaing. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerpondemandfreetrial0} +- + I check the campaing is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_openerpondemandfreetrial0}: + - state == 'done' + \ No newline at end of file From 02cfa857f53d80573dc21d1281c840daff58a32f Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Fri, 11 Nov 2011 15:11:42 +0530 Subject: [PATCH 011/119] [REF] marketing_campaign: Used get_object_reference instead of _get_id from data got from ir.model bzr revid: ron@tinyerp.com-20111111094142-r50oajp8fhe3nzjl --- addons/marketing_campaign/marketing_campaign.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 9dc48c99873..47c9498dd8d 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -784,11 +784,7 @@ class marketing_campaign_workitem(osv.osv): res = {} wi_obj = self.browse(cr, uid, ids[0], context=context) if wi_obj.activity_id.type == 'email': - data_obj = self.pool.get('ir.model.data') - data_id = data_obj._get_id(cr, uid, 'email_template', 'email_template_preview_form') - view_id = 0 - if data_id: - view_id = data_obj.browse(cr, uid, data_id, context=context).res_id + view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'email_template', 'email_template_preview_form') res = { 'name': _('Email Preview'), 'view_type': 'form', @@ -796,7 +792,7 @@ class marketing_campaign_workitem(osv.osv): 'res_model': 'email_template.preview', 'view_id': False, 'context': context, - 'views': [(view_id, 'form')], + 'views': [(view_id and view_id[1] or 0, 'form')], 'type': 'ir.actions.act_window', 'target': 'new', 'nodestroy':True, From 7a34cf55a3607c0d164d8eb08b78c698de0df452 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Fri, 11 Nov 2011 16:20:42 +0530 Subject: [PATCH 012/119] [ADD] marketing_campaign_crm_demo: Add new onchange_events.yml for onchange events and preview reports bzr revid: ron@tinyerp.com-20111111105042-6o37aru6f6kkxgzd --- addons/marketing_campaign_crm_demo/__openerp__.py | 1 + .../test/ui/onchange_events.yml | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index 6c28e9226a0..c56d1dc4d16 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -42,6 +42,7 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca ], 'test': [ 'test/process/marketing_campaign.yml', + 'test/ui/onchange_events.yml' ], 'installable': True, 'active': False, diff --git a/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml b/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml new file mode 100644 index 00000000000..43fb716943e --- /dev/null +++ b/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml @@ -0,0 +1,12 @@ +- + I call onchange event to change campaing for segment. +- + !python {model: marketing.campaign.segment}: | + self.onchange_campaign_id(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")], ref("marketing_campaign_openerpondemandfreetrial0")) +- + I can see preview report of workitem. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('res_id', '=', ref('crm.crm_case_ericdubois4')), ('segment_id', '=', ref('marketing_campaign_segment_bosslistusassociationslist0')), + ('campaign_id', '=', ref('marketing_campaign_openerpondemandfreetrial0')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) + self.preview(cr, uid, ids) From e99921e8533853b9e30c13287acc1c838a149e31 Mon Sep 17 00:00:00 2001 From: "Naresh (OpenERP)" Date: Mon, 14 Nov 2011 16:34:47 +0530 Subject: [PATCH 013/119] [FIX]:sequence might use a child company's sequence by error under certain circumstances, use force_company in the context if you want specific companies seq to used else use users current company seq lp bug: https://launchpad.net/bugs/863221 fixed bzr revid: nch@tinyerp.com-20111114110447-jn71htdyx5q4gqiu --- openerp/addons/base/ir/ir_sequence.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openerp/addons/base/ir/ir_sequence.py b/openerp/addons/base/ir/ir_sequence.py index c2f71910231..a0bcb5a2734 100644 --- a/openerp/addons/base/ir/ir_sequence.py +++ b/openerp/addons/base/ir/ir_sequence.py @@ -189,7 +189,14 @@ class ir_sequence(openerp.osv.osv.osv): def _next(self, cr, uid, seq_ids, context=None): if not seq_ids: return False - seq = self.read(cr, uid, seq_ids[:1], ['implementation','number_next','prefix','suffix','padding'])[0] + if context is None: + context = {} + force_company = context.get('force_company') + if force_company is None: + force_company = self.pool.get('res.users').browse(cr, uid, uid).company_id.id + sequences = self.read(cr, uid, seq_ids, ['company_id', 'implementation','number_next','prefix','suffix','padding']) + preferred_sequences = [s for s in sequences if s['company_id'] and s['company_id'][0] == force_company ] + seq = preferred_sequences[0] if preferred_sequences else sequences[0] if seq['implementation'] == 'standard': cr.execute("SELECT nextval('ir_sequence_%03d')" % seq['id']) seq['number_next'] = cr.fetchone() From fafa6b2d910735bd7d193a2471ec4797552456c2 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 15 Nov 2011 17:10:16 +0100 Subject: [PATCH 014/119] [FIX] jq_ajax: addapt code to new version of underscore.string [IMP] jq_ajax: only show transport iframe in debug mode bzr revid: chs@openerp.com-20111115161016-q1p2ne4zp1geui92 --- addons/web/static/src/js/jq_ajax.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/jq_ajax.js b/addons/web/static/src/js/jq_ajax.js index 19c3bb31295..611ab1e1e22 100644 --- a/addons/web/static/src/js/jq_ajax.js +++ b/addons/web/static/src/js/jq_ajax.js @@ -129,7 +129,8 @@ }; - $iframe = $(_("").sprintf(ifid, ifid)); + var display = options.openerp.debug ? 'block' : 'none'; + $iframe = $(_.str.sprintf("", ifid, ifid, display)); // the first bind is fired up when the iframe is added to the DOM From bc9149f5b682e3969e913cf437d8719d01dff6e1 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 15 Nov 2011 17:12:51 +0100 Subject: [PATCH 015/119] [FIX] lock accesses to session file bzr revid: chs@openerp.com-20111115161251-wntoqdx42jbh7k0e --- addons/web/common/http.py | 65 +++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index ab3c3c4129b..e5af2621c89 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -9,8 +9,9 @@ import logging import urllib import os import pprint -import re +#import re import sys +import threading import traceback import uuid import xmlrpclib @@ -176,7 +177,7 @@ class JsonRequest(WebRequest): try: self.jsonrequest = simplejson.loads(direct_json_request, object_hook=nonliterals.non_literal_decoder) except Exception, e: - _logger.error(e) + _logger.exception(e) return werkzeug.exceptions.BadRequest(e) else: # no direct json request, try to get it from jsonp POST request @@ -352,17 +353,19 @@ STORES = {} @contextlib.contextmanager def session_context(request, storage_path, session_cookie='sessionid'): - session_store = STORES.get(storage_path) + session_store, session_lock = STORES.get(storage_path, (None, None)) if not session_store: session_store = werkzeug.contrib.sessions.FilesystemSessionStore( storage_path) - STORES[storage_path] = session_store + session_lock = threading.Lock() + STORES[storage_path] = session_store, session_lock sid = request.cookies.get(session_cookie) - if sid: - request.session = session_store.get(sid) - else: - request.session = session_store.new() + with session_lock: + if sid: + request.session = session_store.get(sid) + else: + request.session = session_store.new() try: yield request.session @@ -375,29 +378,31 @@ def session_context(request, storage_path, session_cookie='sessionid'): _logger.info('remove session %s: %r', key, value.jsonp_requests) del request.session[key] - # FIXME: remove this when non-literals disappear - if sid: - # Re-load sessions from storage and merge non-literal - # contexts and domains (they're indexed by hash of the - # content so conflicts should auto-resolve), otherwise if - # two requests alter those concurrently the last to finish - # will overwrite the previous one, leading to loss of data - # (a non-literal is lost even though it was sent to the - # client and client errors) - # - # note that domains_store and contexts_store are append-only (we - # only ever add items to them), so we can just update one with the - # other to get the right result, if we want to merge the - # ``context`` dict we'll need something smarter - in_store = session_store.get(sid) - for k, v in request.session.iteritems(): - stored = in_store.get(k) - if stored and isinstance(v, session.OpenERPSession)\ - and v != stored: - v.contexts_store.update(stored.contexts_store) - v.domains_store.update(stored.domains_store) + with session_lock: + # FIXME: remove this when non-literals disappear + if sid: + # Re-load sessions from storage and merge non-literal + # contexts and domains (they're indexed by hash of the + # content so conflicts should auto-resolve), otherwise if + # two requests alter those concurrently the last to finish + # will overwrite the previous one, leading to loss of data + # (a non-literal is lost even though it was sent to the + # client and client errors) + # + # note that domains_store and contexts_store are append-only (we + # only ever add items to them), so we can just update one with the + # other to get the right result, if we want to merge the + # ``context`` dict we'll need something smarter + in_store = session_store.get(sid) + for k, v in request.session.iteritems(): + stored = in_store.get(k) + if stored and isinstance(v, session.OpenERPSession)\ + and v != stored: + v.contexts_store.update(stored.contexts_store) + v.domains_store.update(stored.domains_store) + v.jsonp_requests.update(stored.jsonp_requests) - session_store.save(request.session) + session_store.save(request.session) #---------------------------------------------------------- # OpenERP Web Module/Controller Loading and URL Routing From 7e9d606238ed1fa00d2bf8b852987889566c49e0 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 15 Nov 2011 18:04:08 +0100 Subject: [PATCH 016/119] [IMP] Connection: new method to bind to a server. Must be called before login [IMP] loading of qweb/css/js files are now sequencial bzr revid: chs@openerp.com-20111115170408-u1i805s1854igyja --- addons/web/static/src/js/chrome.js | 36 +++++--- addons/web/static/src/js/core.js | 134 ++++++++++++++++++----------- 2 files changed, 107 insertions(+), 63 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 2b838ee3743..31ea05b572b 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -977,12 +977,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie this._super(null, element_id); openerp.webclient = this; - var params = {}; - if(jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { - this.$element.addClass("kitten-mode-activated"); - } - this.$element.html(QWeb.render("Interface", params)); - this.notification = new openerp.web.Notification(this); this.loading = new openerp.web.Loading(this); this.crashmanager = new openerp.web.CrashManager(); @@ -997,8 +991,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie this.session.on_session_invalid.add_last(this.header.do_update); this.session.on_session_valid.add_last(this.on_logged); - this.menu = new openerp.web.Menu(this, "oe_menu", "oe_secondary_menu"); - this.menu.on_action.add(this.on_menu_action); this.url_internal_hashchange = false; this.url_external_hashchange = false; @@ -1007,12 +999,28 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie }, start: function() { this._super.apply(this, arguments); - this.notification.prependTo(this.$element); - this.loading.appendTo($('#oe_loading')); - this.header.appendTo($("#oe_header")); - this.session.start(); - this.login.appendTo($('#oe_login')); - this.menu.start(); + var self = this; + openerp.connection.bind(function() { + + var params = {}; + if(jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { + self.$element.addClass("kitten-mode-activated"); + } + self.$element.html(QWeb.render("Interface", params)); + openerp.connection.session_restore(); + + + // TODO nivification of menu Widget !!! + self.menu = new openerp.web.Menu(self, "oe_menu", "oe_secondary_menu"); + self.menu.on_action.add(self.on_menu_action); + + + self.notification.prependTo(self.$element); + self.loading.appendTo($('#oe_loading')); + self.header.appendTo($("#oe_header")); + self.login.appendTo($('#oe_login')); + self.menu.start(); + }); }, do_reload: function() { this.session.session_restore(); diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 7cd81d2a7c1..590438c09dc 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -346,29 +346,43 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. * @param {String} [server] JSON-RPC endpoint hostname * @param {String} [port] JSON-RPC endpoint port */ - init: function(server) { + init: function() { + + // FIXME need to be a real singleton. + // create more than one Connection on the same instance will not works + this._super(); - var hostname = _('%s//%s').sprintf(location.protocol, location.host); - this.server = _.rtrim((server == undefined) ? hostname : server, '/'); - this.rpc_mode = (this.server == hostname) ? "oe-json" : "oe-jsonp"; + this.server = null; this.debug = ($.deparam($.param.querystring()).debug != undefined); + // TODO: session should have an optional name indicating that they'll + // be saved to (and revived from) cookies + this.name = 'session'; + }, + + bind: function(server, continuation) { + + if(_.isFunction(server)) { + continuation = server; + server = null; + } + + if (this.server) { + throw new Error("Connection already bind to " + this.server); + } + var hostname = _.str.sprintf('%s//%s', location.protocol, location.host); + this.server = _.str.rtrim((!server) ? hostname : server, '/'); + this.rpc_mode = (this.server == hostname) ? "oe-json" : "oe-jsonp"; this.session_id = false; this.uid = false; this.user_context= {}; this.db = false; + this.module_loading = $.Deferred(); this.module_list = []; this.module_loaded = {"web": true}; this.context = {}; this.shortcuts = []; this.active_id = null; - // TODO: session should have an optional name indicating that they'll - // be saved to (and revived from) cookies - this.name = 'session'; - this.do_load_qweb(['/web/webclient/qweb']); - }, - - start: function() { - this.session_restore(); + this.do_load_qweb(['/web/webclient/qweb'], continuation); }, get_absolute_url: function(path) { @@ -377,7 +391,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. if (r_has_protocol.test(path)) { - if (!_(path).startsWith(this.server + '/')) { + if (!_.str.startsWith(path, this.server + '/')) { $.error('can only contact openerp.server'); } absolute_url = path; @@ -426,6 +440,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }); }).then(success_callback, error_callback).promise(); }, + /** * Raw JSON-RPC call * @@ -491,9 +506,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. /** * The session is validated either by login or by restoration of a previous session */ - on_session_valid: function() { - if(!openerp._modules_loaded) - this.load_modules(); + on_session_valid: function(continuation) { + this.load_modules(continuation); }, on_session_invalid: function(contination) { }, @@ -509,15 +523,17 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. self.user_context = result.context; self.db = result.db; self.session_save(); - self.on_session_valid(); + + self.on_session_valid(success_callback); return true; - }).then(success_callback); + //}).done(success_callback); + }); }, login: function() { this.session_login.apply(this, arguments); }, /** * Reloads uid and session_id from local storage, if they exist */ - session_restore: function () { + session_restore: function (continuation) { var self = this; this.session_id = this.get_cookie('session_id'); return this.rpc("/web/session/get_session_info", {}).then(function(result) { @@ -525,11 +541,11 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. self.user_context = result.context; self.db = result.db; if (self.uid) - self.on_session_valid(); + self.on_session_valid(continuation); else - self.on_session_invalid(); + self.on_session_invalid(continuation); }, function() { - self.on_session_invalid(); + self.on_session_invalid(continuation); }); }, /** @@ -583,9 +599,17 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }, /** * Load additional web addons of that instance and init them + * FIXME do all actions in sync... */ - load_modules: function() { + load_modules: function(continuation) { var self = this; + + this.module_loading.done(continuation); + //if (this.module_loading.state() !== "pending") { + if (this.module_loading.isResolved() || this.module_loading.isRejected()) { + return; + } + this.rpc('/web/session/modules', {}, function(result) { self.module_list = result; var lang = self.user_context.lang; @@ -597,16 +621,36 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. self.user_context.lang.replace("_", "-") + ".js" ]; - self.rpc('/web/webclient/qweblist', {"mods": modules}, self.do_load_qweb); - self.rpc('/web/webclient/csslist', {"mods": modules}, self.do_load_css); - self.rpc('/web/webclient/jslist', {"mods": modules}, function(files) { + /* + self.rpc('/web/webclient/qweblist', {mods: modules}, self.do_load_qweb); + self.rpc('/web/webclient/csslist', {mods: modules}, self.do_load_css); + self.rpc('/web/webclient/jslist', {mods: modules}, function(files) { self.do_load_js(file_list.concat(files)); }); openerp._modules_loaded = true; + // */ + + self.rpc('/web/webclient/qweblist', {mods: modules}, function(files) { + self.do_load_qweb(files, function() { + // once qweb files are loaded... + self.rpc('/web/webclient/csslist', {mods: modules}, function(files) { + self.do_load_css(files, function() { + // once css files are loaded + self.rpc('/web/webclient/jslist', {mods: modules}, function(files) { + self.do_load_js(file_list.concat(files), function() { + self.on_modules_loaded(); + self.module_loading.resolve(); + }); + }); + }); + }); + }); + }); + }); }); }, - do_load_css: function (files) { + do_load_css: function (files, callback) { var self = this; _.each(files, function (file) { $('head').append($('', { @@ -615,8 +659,9 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. 'type': 'text/css' })); }); + if (callback) { callback(); } }, - do_load_js: function(files) { + do_load_js: function(files, callback) { var self = this; if(files.length != 0) { var file = files.shift(); @@ -627,35 +672,26 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. if ( (tag.readyState && tag.readyState != "loaded" && tag.readyState != "complete") || tag.onload_done ) return; tag.onload_done = true; - self.do_load_js(files); + self.do_load_js(files, callback); }; var head = document.head || document.getElementsByTagName('head')[0]; head.appendChild(tag); } else { - this.on_modules_loaded(); + if (callback) { callback(); } } }, - do_load_qweb: function(files) { + do_load_qweb: function(files, callback) { var self = this; - _.each(files, function(file) { - self.rpc({ - //url: self.get_absolute_url(file), - url: '/web/jsonp/static_proxy', - async: false, - //dataType: 'text', - - }, - { - path: file, - }, - function(xml) { - //function(result) { - // console.log('do_load_qweb', result); - // var xml = result.result; - //}).then(function(xml) { - openerp.web.qweb.add_template(_(xml).trim()); + + if (files.length != 0) { + var file = files.shift(); + self.rpc('/web/jsonp/static_proxy', {path: file}, function(xml) { + openerp.web.qweb.add_template(_.str.trim(xml)); + self.do_load_qweb(files, callback); }); - }); + } else { + if (callback) { callback(); } + } }, on_modules_loaded: function() { for(var j=0; j Date: Thu, 17 Nov 2011 13:48:19 +0100 Subject: [PATCH 017/119] [FIX] typo bzr revid: chs@openerp.com-20111117124819-qmxoit9i2ryo8szo --- addons/web/static/src/js/core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 590438c09dc..8d7bed56b5b 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -367,7 +367,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. } if (this.server) { - throw new Error("Connection already bind to " + this.server); + throw new Error("Connection already bound to " + this.server); } var hostname = _.str.sprintf('%s//%s', location.protocol, location.host); this.server = _.str.rtrim((!server) ? hostname : server, '/'); From 4e85f0762cc69af8efdb88ec857329ac955afe0b Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 17 Nov 2011 13:49:26 +0100 Subject: [PATCH 018/119] [IMP] Connection: add utility method that bind() then login() bzr revid: chs@openerp.com-20111117124926-y3z3osoq76va0kjy --- addons/web/static/src/js/core.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 8d7bed56b5b..113b83f57dc 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -385,6 +385,13 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. this.do_load_qweb(['/web/webclient/qweb'], continuation); }, + connect: function(server, db, login, password, continuation) { + var self = this; + this.bind(server, function() { + self.login(db, login, password, continuation); + }); + }, + get_absolute_url: function(path) { var r_has_protocol = /^https?:\/\//, r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) From 8769c57e941652aafc910c9deb69bbe5c544f6fa Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 22 Nov 2011 13:08:06 +0100 Subject: [PATCH 019/119] [FIX] session merging bzr revid: chs@openerp.com-20111122120806-mlg170fohfnx8gk8 --- addons/web/common/http.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index 7352a6f5cb9..aadae03832e 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -374,12 +374,14 @@ def session_context(request, storage_path, session_cookie='sessionid'): # either by login process or by HTTP requests without an OpenERP # session id, and are generally noise for key, value in request.session.items(): - if isinstance(value, session.OpenERPSession) and not value._uid and not value.jsonp_requests: + if (isinstance(value, session.OpenERPSession) + and not value._uid + and not value.jsonp_requests + ): _logger.info('remove session %s: %r', key, value.jsonp_requests) del request.session[key] with session_lock: - # FIXME: remove this when non-literals disappear if sid: # Re-load sessions from storage and merge non-literal # contexts and domains (they're indexed by hash of the @@ -402,6 +404,11 @@ def session_context(request, storage_path, session_cookie='sessionid'): v.domains_store.update(stored.domains_store) v.jsonp_requests.update(stored.jsonp_requests) + # add missing keys + for k, v in in_store.iteritems(): + if k not in request.session: + request.session[k] = v + session_store.save(request.session) #---------------------------------------------------------- From 2834e0f7bd2ec92430a3bd1f705f6e5dd33ab2ce Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 22 Nov 2011 13:16:55 +0100 Subject: [PATCH 020/119] [IMP] pop jsonp_requests to avoid memory overload bzr revid: chs@openerp.com-20111122121655-7nqn1rvcd2iwy4mg --- addons/web/common/http.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index aadae03832e..afad089f1d8 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -186,7 +186,7 @@ class JsonRequest(WebRequest): session_id = params.get('sid') if session_id: self.init_session(session_id) - stored_request = self.session.jsonp_requests.get(rid, {}) + stored_request = self.session.jsonp_requests.pop(rid, {}) else: stored_request = {} From 050d369f4aec38f7c876bbd5f307f3085a647b71 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 22 Nov 2011 13:18:33 +0100 Subject: [PATCH 021/119] [IMP] better debugging output bzr revid: chs@openerp.com-20111122121833-okbmche6lhw78d4d --- addons/web/common/http.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index afad089f1d8..4d44f3175f8 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -165,6 +165,7 @@ class JsonRequest(WebRequest): requestf = self.httprequest.stream direct_json_request = None jsonp_callback = None + rid = None if requestf: direct_json_request = requestf.read() @@ -222,10 +223,12 @@ class JsonRequest(WebRequest): return werkzeug.exceptions.BadRequest() error = None + if not rid: + rid = self.jsonrequest.get('id') try: if _logger.isEnabledFor(logging.DEBUG): - _logger.debug("--> %s.%s\n%s", controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest)) - response['id'] = self.jsonrequest.get('id') + _logger.debug("[%s] --> %s.%s\n%s", rid, controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest)) + response['id'] = rid response["result"] = method(controller, self, **self.params) except openerplib.AuthenticationError: error = { @@ -260,9 +263,10 @@ class JsonRequest(WebRequest): } if error: response["error"] = error + _logger.error("[%s] <--\n%s", rid, pprint.pformat(response)) - if _logger.isEnabledFor(logging.DEBUG): - _logger.debug("<--\n%s", pprint.pformat(response)) + elif _logger.isEnabledFor(logging.DEBUG): + _logger.debug("[%s] <--\n%s", rid, pprint.pformat(response)) return build_response(response) From c5bcea713d360a71ca1d94d385d6e5110d1ff142 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 22 Nov 2011 13:20:16 +0100 Subject: [PATCH 022/119] [FIX] set correct session name bzr revid: chs@openerp.com-20111122122016-ykckmih2q7dfb4yb --- addons/web/static/src/js/core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index e3f85a92503..0c3eaff56ed 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -360,7 +360,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. this.debug = ($.deparam($.param.querystring()).debug != undefined); // TODO: session should have an optional name indicating that they'll // be saved to (and revived from) cookies - this.name = 'session'; + this.name = openerp._session_id; }, bind: function(server, continuation) { From f7893968428df6cb518db4615e96b1d0e627d294 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 22 Nov 2011 13:20:46 +0100 Subject: [PATCH 023/119] [IMP] correct var name bzr revid: chs@openerp.com-20111122122046-kl6f4o4ej1mdcd1o --- addons/web/static/src/js/core.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 0c3eaff56ed..19607bc11a2 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -398,7 +398,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }, get_absolute_url: function(path) { - var r_has_protocol = /^https?:\/\//, + var absolute_url, + r_has_protocol = /^https?:\/\//, r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) @@ -416,7 +417,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. parts.push(path); absolute_url = this.server + parts.join('/'); } - return absolute_url + return absolute_url; }, /** @@ -488,7 +489,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. return; } self.uid = false; - self.on_session_invalid(function() { + self.on_session_invalid(function() { // retry self.rpc(url, payload, function() { deferred.resolve.apply(deferred, arguments); @@ -521,7 +522,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. on_session_valid: function(continuation) { this.load_modules(continuation); }, - on_session_invalid: function(contination) { + on_session_invalid: function(continuation) { }, session_is_valid: function() { return this.uid; From 64d223d4271a431457992a399e5cb65795ac4c11 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 22 Nov 2011 13:22:50 +0100 Subject: [PATCH 024/119] [ADD] EmbedClient widget for ease the use of embed code bzr revid: chs@openerp.com-20111122122250-v0cys6fdv42222l0 --- addons/web/__openerp__.py | 3 +- addons/web/static/src/js/boot.js | 2 +- addons/web/static/src/js/embed.js | 49 +++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 addons/web/static/src/js/embed.js diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index a9aeea1af31..43700b017a7 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -46,7 +46,8 @@ "static/src/js/view_list.js", "static/src/js/view_list_editable.js", "static/src/js/view_tree.js", - "static/src/js/view_editor.js" + "static/src/js/view_editor.js", + "static/src/js/embed.js", ], 'css' : [ "static/lib/jquery.superfish/css/superfish.css", diff --git a/addons/web/static/src/js/boot.js b/addons/web/static/src/js/boot.js index 58dcd922ea9..7440ae42dbc 100644 --- a/addons/web/static/src/js/boot.js +++ b/addons/web/static/src/js/boot.js @@ -59,7 +59,7 @@ openerp.web = function(instance) { openerp.web.formats(instance); openerp.web.chrome(instance); openerp.web.data(instance); - var files = ["views","search","list","form","list_editable","web_mobile","view_tree","data_export","data_import","view_editor"]; + var files = ["views","search","list","form","list_editable","web_mobile","view_tree","data_export","data_import","view_editor", 'embed']; for(var i=0; i Date: Wed, 23 Nov 2011 10:20:55 +0100 Subject: [PATCH 025/119] [FIX] generate absolute urls for images bzr revid: chs@openerp.com-20111123092055-iqwm3uy1sxw4iq5o --- addons/web/static/src/js/formats.js | 2 +- addons/web_kanban/static/src/js/kanban.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js index 3151b34636b..18b679bed3c 100644 --- a/addons/web/static/src/js/formats.js +++ b/addons/web/static/src/js/formats.js @@ -253,7 +253,7 @@ openerp.web.format_cell = function (row_data, column, value_if_empty, process_mo if (column.tag === 'button') { return [ '' ].join('') diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index a3755541548..f8a649e2064 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -109,7 +109,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({ node.children = [{ tag: 'img', attrs: { - src: '/web/static/src/img/icons/' + node.attrs['data-icon'] + '.png', + src: openerp.connection.server + '/web/static/src/img/icons/' + node.attrs['data-icon'] + '.png', width: '16', height: '16' } @@ -509,7 +509,7 @@ openerp.web_kanban.KanbanRecord = openerp.web.Widget.extend({ }, kanban_image: function(model, field, id) { id = id || ''; - return '/web/binary/image?session_id=' + this.session.session_id + '&model=' + model + '&field=' + field + '&id=' + id; + return openerp.connection.server + '/web/binary/image?session_id=' + this.session.session_id + '&model=' + model + '&field=' + field + '&id=' + id; }, kanban_text_ellipsis: function(s, size) { size = size || 160; From 8a0a6fab0c9dca21cfd5d5124a423d0c896cdc69 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Wed, 30 Nov 2011 10:39:47 +0530 Subject: [PATCH 026/119] [ADD, IMP, REN]: * Added file marketing_campaign_crm_demo/test/ui/workitem_report.yml [To see preview report of activity] * Created record of campaign.segment for call campaign_onchange event * Renamed file marketing_campaign_crm_demo/test/ui/onchange_events.yml => marketing_campaign_crm_demo/test/ui/demo_data.yml * changed _openerp__.py bzr revid: ron@tinyerp.com-20111130050947-1skwhf46h7t0dy9c --- addons/marketing_campaign_crm_demo/__openerp__.py | 3 ++- addons/marketing_campaign_crm_demo/test/ui/demo_data.yml | 5 +++++ .../test/ui/{onchange_events.yml => workitem_report.yml} | 5 ----- 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 addons/marketing_campaign_crm_demo/test/ui/demo_data.yml rename addons/marketing_campaign_crm_demo/test/ui/{onchange_events.yml => workitem_report.yml} (61%) diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index c56d1dc4d16..444758c8ccb 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -42,7 +42,8 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca ], 'test': [ 'test/process/marketing_campaign.yml', - 'test/ui/onchange_events.yml' + 'test/ui/demo_data.yml', + 'test/ui/workitem_report.yml' ], 'installable': True, 'active': False, diff --git a/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml b/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml new file mode 100644 index 00000000000..98ba4081300 --- /dev/null +++ b/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml @@ -0,0 +1,5 @@ +- + I create segment record to call onchange event. +- + !record {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: + campaign_id: marketing_campaign_openerpondemandfreetrial0 diff --git a/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml b/addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml similarity index 61% rename from addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml rename to addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml index 43fb716943e..4d3faad2b96 100644 --- a/addons/marketing_campaign_crm_demo/test/ui/onchange_events.yml +++ b/addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml @@ -1,8 +1,3 @@ -- - I call onchange event to change campaing for segment. -- - !python {model: marketing.campaign.segment}: | - self.onchange_campaign_id(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")], ref("marketing_campaign_openerpondemandfreetrial0")) - I can see preview report of workitem. - From 0a288529794a5f14fd0ed01e549140d3385e5a5b Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Wed, 30 Nov 2011 17:06:52 +0530 Subject: [PATCH 027/119] [IMP] marketing_campaign: improve yml to test process of campaign segmentation, add new demo data for partner channel in marketing_campaign module bzr revid: hmo@tinyerp.com-20111130113652-uqxjdy7icybq2h4g --- addons/marketing_campaign/__openerp__.py | 5 + .../marketing_campaign_demo.xml | 91 +++++++++++++++++++ .../test/marketing_campaign.yml | 60 ++++++++++++ .../test/marketing_campaign_demo.yml | 5 + .../test/ui/workitem_report.yml | 0 .../__openerp__.py | 5 - .../marketing_campaign_demo.xml | 36 +------- .../test/process/marketing_campaign.yml | 57 ------------ .../test/ui/demo_data.yml | 5 - 9 files changed, 163 insertions(+), 101 deletions(-) create mode 100644 addons/marketing_campaign/marketing_campaign_demo.xml create mode 100644 addons/marketing_campaign/test/marketing_campaign.yml create mode 100644 addons/marketing_campaign/test/marketing_campaign_demo.yml rename addons/{marketing_campaign_crm_demo => marketing_campaign}/test/ui/workitem_report.yml (100%) delete mode 100644 addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml delete mode 100644 addons/marketing_campaign_crm_demo/test/ui/demo_data.yml diff --git a/addons/marketing_campaign/__openerp__.py b/addons/marketing_campaign/__openerp__.py index 44a2f1e30bd..d9052239038 100644 --- a/addons/marketing_campaign/__openerp__.py +++ b/addons/marketing_campaign/__openerp__.py @@ -58,7 +58,12 @@ Note: If you need demo data, you can install the marketing_campaign_crm_demo mod "security/ir.model.access.csv" ], 'demo_xml': [ + 'marketing_campaign_demo.xml', ], + 'test': [ + 'test/marketing_campaign_demo.yml', + 'test/marketing_campaign.yml', + ], 'installable': True, 'active': False, 'certificate' : '00421723279617928365', diff --git a/addons/marketing_campaign/marketing_campaign_demo.xml b/addons/marketing_campaign/marketing_campaign_demo.xml new file mode 100644 index 00000000000..f49b918aa2c --- /dev/null +++ b/addons/marketing_campaign/marketing_campaign_demo.xml @@ -0,0 +1,91 @@ + + + + + Dummy Action + + dummy + + + + + + + + + Welcome in OpenERP Family! + info@tinyerp.com + + Hello, We are very happy to send Welcome message. + + + Cogretulation! You become now our Silver Partner. + info@tinyerp.com + + Hello,We are happy to announce that you now become our Silver Partner. + Regards,OpenERP Team, + + + + Congratulation! You become our Gold Partner. + info@tinyerp.com + + Hello, We are happy to announce that you become our Gold Partner. + Regards,OpenERP Team, + + + + + + + OpenERP Partner Channel + + active + + + + + + New Partner + + + + + + + Silver Partner + + + + + + + Gold Partner + + + + + + + + + + + + + + + + + + + + + OpenERP Partner + create_date + + draft + + + + diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml new file mode 100644 index 00000000000..502f9e892ec --- /dev/null +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -0,0 +1,60 @@ +- + I start compaign. +- + !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerppartnerchannel} +- + I check the campaign on Running mode. +- + !assert {model: marketing.campaign, id: marketing_campaign_openerppartnerchannel}: + - state == 'running' +- + This campaign is only for OpenERP partner, so I assinged this Campaign + to right segment, after that I start this segment. +- + !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment0} +- + I check the segment on Running mode. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + - state == 'running' +- + I synchronized this segment manually to see all step of activity and process covered on this campaign. +- + !python {model: marketing.campaign.segment}: | + self.synchroniz(cr, uid, [ref("marketing_campaign_segment0")]) +- + I process work item. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) + #assert ids, 'Activity items not created' + #self.process(cr, uid, ids) + #record = self.browse(cr, uid, ids)[0] + #assert record.state == "done", "Activity item not in done state" +- + I print workitem report. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) + #self.preview(cr, uid, ids) +- + I close segmentation After completion of all activity. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment0} +- + I check the segmentation is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + - state == 'done' +- + I close this campaing. +- + !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerppartnerchannel} +- + I check the campaing is done. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_openerppartnerchannel}: + - state == 'done' + diff --git a/addons/marketing_campaign/test/marketing_campaign_demo.yml b/addons/marketing_campaign/test/marketing_campaign_demo.yml new file mode 100644 index 00000000000..c727132bd47 --- /dev/null +++ b/addons/marketing_campaign/test/marketing_campaign_demo.yml @@ -0,0 +1,5 @@ +- + In order to test process of marketing campaign, I create segment. +- + !record {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + campaign_id: marketing_campaign_openerppartnerchannel diff --git a/addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml b/addons/marketing_campaign/test/ui/workitem_report.yml similarity index 100% rename from addons/marketing_campaign_crm_demo/test/ui/workitem_report.yml rename to addons/marketing_campaign/test/ui/workitem_report.yml diff --git a/addons/marketing_campaign_crm_demo/__openerp__.py b/addons/marketing_campaign_crm_demo/__openerp__.py index 444758c8ccb..4841cc1a2e8 100644 --- a/addons/marketing_campaign_crm_demo/__openerp__.py +++ b/addons/marketing_campaign_crm_demo/__openerp__.py @@ -40,11 +40,6 @@ Creates demo data like leads, campaigns and segments for the module marketing_ca 'demo_xml': [ 'marketing_campaign_demo.xml', ], - 'test': [ - 'test/process/marketing_campaign.yml', - 'test/ui/demo_data.yml', - 'test/ui/workitem_report.yml' - ], 'installable': True, 'active': False, 'certificate' : '001005497972871352957', diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml index 90db37f2176..7b45c959035 100644 --- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml +++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml @@ -36,135 +36,103 @@ Thanks for showing interest in OpenERP info@tinyerp.com - - Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team, - mako For OpenERP OnDemand Free Trial 2010 - crm.lead Propose to subscribe to the OpenERP Discovery Day on May 2010 info@tinyerp.com - - Hello,We have very good offer that might suit you. We propose you to subscribe to the OpenERP Discovery Day on May 2010. If any further information required kindly revert back. We really appreciate your co-operation on this. Regards,OpenERP Team, - mako For OpenERP Discovery Day on May 2010 - crm.lead - + Thanks for subscribing to the OpenERP Discovery Day info@tinyerp.com - - Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For OpenERP Discovery Day - crm.lead - + Thanks for buying the OpenERP book info@tinyerp.com - - Hello,Thanks for showing intrest and buying the OpenERP book. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For OpenERP book - crm.lead Propose a free technical training to Gold partners info@tinyerp.com - - Hello, We have very good offer that might suit you. For our gold partners,We are arranging free technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For technical training to Gold partners - crm.lead Propose paid training to Silver partners info@tinyerp.com - - Hello, We have very good offer that might suit you. For our silver partners,We are paid technical training on june,2010. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For training to Silver partners - crm.lead Propose gold partnership to silver partners info@tinyerp.com - - Hello, We have very good offer that might suit you. For our silver partners,We are offering Gold partnership. If any further information required kindly revert back. I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For gold partnership to silver partners - crm.lead Thanks for subscribing to technical training info@tinyerp.com - - Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this. Regards,OpenERP Team, - mako For subscribing to technical training - crm.lead diff --git a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml b/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml deleted file mode 100644 index 5d21d8c901a..00000000000 --- a/addons/marketing_campaign_crm_demo/test/process/marketing_campaign.yml +++ /dev/null @@ -1,57 +0,0 @@ -- - I created marketing campaing with specific activity(offers) to reach our partners - and communication via email according to campaing activity. - Now I start this compaign. -- - !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerpondemandfreetrial0} -- - I check the campaign on Running mode. -- - !assert {model: marketing.campaign, id: marketing_campaign_openerpondemandfreetrial0}: - - state == 'running' -- - This campaign is only for Belgium partner of leads, so I assinged this Campaign - to right segment(Only for Belgium Leads), after that I start this segment. -- - !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment_bosslistusassociationslist0} -- - I check the segment on Running mode. -- - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - - state == 'running' -- - I synchronized this segment manually to see all step of activity and process covered on this campaign. -- - !python {model: marketing.campaign.segment}: | - self.synchroniz(cr, uid, [ref("marketing_campaign_segment_bosslistusassociationslist0")]) -- - I process the event of belgium partner which is particiapated with our campaing activity, - after processing the event, automatic email send to that partner with specific message and check - the status of event. -- - !python {model: marketing.campaign.workitem}: | - ids = self.search(cr, uid, [('res_id', '=', ref('crm.crm_case_ericdubois4')), ('segment_id', '=', ref('marketing_campaign_segment_bosslistusassociationslist0')), - ('campaign_id', '=', ref('marketing_campaign_openerpondemandfreetrial0')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) - assert ids, 'Activity items not created' - self.process(cr, uid, ids) - record = self.browse(cr, uid, ids)[0] - assert record.state == "done", "Activity item not in done state" -- - After completion of all activity i close segmentation first. -- - !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment_bosslistusassociationslist0} -- - I check the segmentation is done. -- - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - - state == 'done' -- - I close this campaing. -- - !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_openerpondemandfreetrial0} -- - I check the campaing is done. -- - !assert {model: marketing.campaign.segment, id: marketing_campaign_openerpondemandfreetrial0}: - - state == 'done' - \ No newline at end of file diff --git a/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml b/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml deleted file mode 100644 index 98ba4081300..00000000000 --- a/addons/marketing_campaign_crm_demo/test/ui/demo_data.yml +++ /dev/null @@ -1,5 +0,0 @@ -- - I create segment record to call onchange event. -- - !record {model: marketing.campaign.segment, id: marketing_campaign_segment_bosslistusassociationslist0}: - campaign_id: marketing_campaign_openerpondemandfreetrial0 From 593f5f571bbc49673975afc405e9345ef3457b92 Mon Sep 17 00:00:00 2001 From: "Jagdish Panchal (Open ERP)" Date: Fri, 2 Dec 2011 12:34:58 +0530 Subject: [PATCH 028/119] [IMP] project_issue: clean the test cases bzr revid: jap@tinyerp.com-20111202070458-0k5erfurcx46r243 --- addons/project_issue/__openerp__.py | 8 ++- addons/project_issue/project_issue.py | 7 +-- addons/project_issue/test/cancel_issue.yml | 60 +++++++++++++++++++ .../project_issue/test/draft2open2close.yml | 57 ++++++++++++++++++ addons/project_issue/test/issue.eml | 45 ++++++++++++++ addons/project_issue/test/issue_demo.yml | 8 +++ addons/project_issue/test/subscribe_issue.yml | 17 ++++++ 7 files changed, 196 insertions(+), 6 deletions(-) create mode 100644 addons/project_issue/test/cancel_issue.yml create mode 100644 addons/project_issue/test/draft2open2close.yml create mode 100644 addons/project_issue/test/issue.eml create mode 100644 addons/project_issue/test/issue_demo.yml create mode 100644 addons/project_issue/test/subscribe_issue.yml diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index e77499df3d0..f57b8233878 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -54,8 +54,12 @@ and decide on their status as they evolve. ], 'demo_xml': ['project_issue_demo.xml'], 'test': [ - 'test/convert_issue_to_task.yml', - 'test/test_project_issue_states.yml' + #'test/convert_issue_to_task.yml', + #'test/test_project_issue_states.yml' + 'test/subscribe_issue.yml', + 'test/draft2open2close.yml', + 'test/cancel_issue.yml', + 'test/issue_demo.yml' ], 'installable': True, 'active': False, diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index b83efbc4996..88319e486ef 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -294,7 +294,7 @@ class project_issue(crm.crm_case, osv.osv): data_obj = self.pool.get('ir.model.data') task_obj = self.pool.get('project.task') - + if context is None: context = {} @@ -306,7 +306,7 @@ class project_issue(crm.crm_case, osv.osv): id2 = data_obj.browse(cr, uid, id2, context=context).res_id if id3: id3 = data_obj.browse(cr, uid, id3, context=context).res_id - + for bug in case_obj.browse(cr, uid, ids, context=context): new_task_id = task_obj.create(cr, uid, { 'name': bug.name, @@ -314,7 +314,7 @@ class project_issue(crm.crm_case, osv.osv): 'description':bug.description, 'date': bug.date, 'project_id': bug.project_id.id, - 'priority': bug.priority, + 'priority': tools.ustr(int(bug.priority) - 1), 'user_id': bug.user_id.id, 'planned_hours': 0.0, }) @@ -324,7 +324,6 @@ class project_issue(crm.crm_case, osv.osv): 'state':'pending' } case_obj.write(cr, uid, [bug.id], vals) - return { 'name': _('Tasks'), 'view_type': 'form', diff --git a/addons/project_issue/test/cancel_issue.yml b/addons/project_issue/test/cancel_issue.yml new file mode 100644 index 00000000000..ff05d923ed0 --- /dev/null +++ b/addons/project_issue/test/cancel_issue.yml @@ -0,0 +1,60 @@ +- + In order to test process of issue tracking in OpenERP, I cancel the unqualified Issue. +- + !python {model: project.issue}: | + self.case_cancel(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check the issue is in cancel state. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in cancel state}: + - state == 'cancel' +- + I re-open the Issue. +- + !python {model: project.issue}: | + self.case_open(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check the state of issue after open it. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in open state}: + - state == 'open' +- + I put the issue in pending state. +- + !python {model: project.issue}: | + self.case_pending(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check the state of issue after put it in pending state. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue should be in pending state}: + - state == 'pending' +- + I cancel the issue is in pending state. +- + !python {model: project.issue}: | + self.case_cancel(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check the issue is in cancel state. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in cancel state}: + - state == 'cancel' +- + I close Issue. +- + !python {model: project.issue}: | + self.case_close(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check state of Issue after close. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in done state}: + - state == 'done' +- + I cancel the issue is in done state. +- + !python {model: project.issue}: | + self.case_cancel(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check the issue is in cancel state. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue is in cancel state}: + - state == 'cancel' \ No newline at end of file diff --git a/addons/project_issue/test/draft2open2close.yml b/addons/project_issue/test/draft2open2close.yml new file mode 100644 index 00000000000..4614bed3997 --- /dev/null +++ b/addons/project_issue/test/draft2open2close.yml @@ -0,0 +1,57 @@ +- + In order to test process of issue tracking in OpenERP, I Open the Issue. +- + !python {model: project.issue}: | + self.case_open(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check state of Issue after opened it. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue should be in open state}: + - state == 'open' +- + Now I put Issue in pending due to need more information. +- + !python {model: project.issue}: | + self.case_pending(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check state after put in pending. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue should be in pending state}: + - state == 'pending' +- + I send mail to get more details. +- + !python {model: mail.compose.message }: | + ctx = context.copy() + ctx.update({'active_model': 'project.issue', 'active_id': ref("crm_case_buginaccountsmodule0"), 'active_ids': [ref("crm_case_buginaccountsmodule0")]}) + vals = self.default_get(cr, uid , [], context=ctx) + try: + new_id = self.create(cr, uid, {'email_to': 'Robert_Adersen@yahoo.com', 'subject': 'Regarding error in account module we nees more details'}) + self.send_mail(cr, uid, [new_id], context=ctx) + except Exception, e: + pass +- + After getting sufficient details, I re-open Issue from pending state. +- + !python {model: project.issue}: | + self.case_open(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I check state of Issue after re-opened. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue should be in open state}: + - state == 'open' +- + I create Task for Issue. +- + !python {model: project.issue}: | + self.convert_issue_task(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I close Issue after resolving it +- + !python {model: project.issue}: | + self.case_close(cr, uid, [ref("crm_case_buginaccountsmodule0")]) +- + I Check state of Issue after closed. +- + !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue should be in done state}: + - state == 'done' \ No newline at end of file diff --git a/addons/project_issue/test/issue.eml b/addons/project_issue/test/issue.eml new file mode 100644 index 00000000000..32659bbd7da --- /dev/null +++ b/addons/project_issue/test/issue.eml @@ -0,0 +1,45 @@ +Return-Path: +X-Original-To: abc@mycompany.com +Delivered-To: abc@mycompany.com +Received: by mail1.mycompany.com (Postfix, from userid 10002) + id 3955EBFACA; Tue, 29 Nov 2011 08:14:47 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail1.mycompany.com +X-Spam-Level: +X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, + RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 +Received: from nm39-vm6.bullet.mail.ne1.yahoo.com (nm39-vm6.bullet.mail.ne1.yahoo.com [98.138.229.166]) + by mail1.mycompany.com (Postfix) with SMTP id 0D074BF53A + for ; Tue, 29 Nov 2011 08:14:44 +0100 (CET) +Received: from [98.138.90.54] by nm39.bullet.mail.ne1.yahoo.com with NNFMP; 29 Nov 2011 07:13:26 -0000 +Received: from [98.138.84.39] by tm7.bullet.mail.ne1.yahoo.com with NNFMP; 29 Nov 2011 07:13:26 -0000 +Received: from [127.0.0.1] by smtp107.mail.ne1.yahoo.com with NNFMP; 29 Nov 2011 07:13:26 -0000 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.in; s=s1024; t=1322550806; bh=LFefFqrky41IufKZHP8a86obZoBPxyX1aafgWNcrw7U=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type:Content-Transfer-Encoding; b=NB8bd6b4Uk3/3fKhdzbcqFEZGPpKyotLeE0xh8H08rcFEahMFfY5uXgsYZsUFvTLCKfTyQWh/oPTVxHeUTGY/Y5MzAnndghX6S0mzlFtmW2dwLMqdWxQLZwU7EhbyYF9PCHicsmtlUVyo7Ou5ePSviqC0SOyCJJVWwzWlv5W9Zg= +X-Yahoo-Newman-Id: 152218.10448.bm@smtp107.mail.ne1.yahoo.com +X-Yahoo-Newman-Property: ymail-3 +X-YMail-OSG: i4zQqJUVM1mab8kxoCTmgMwxw9th.MdiJzmc4Ffbno7QGkl + acotmc0pGoiw_GrhwReSA6uNIveeAUi9WA6NniWAElxbUzGIQplTBHjRhdqF + d_rLG1Yn71DYxllLCZC8xoRzumVHw.kue0ymrl4D0VO.lEeyXbbYoz.TpAvu + ZASBwSV_mESEUu96bb1esfOjI_2MhibMNmt.2egkOG6LS3AcDkVWXJb.VpQe + yZieJ5djjUx9uu4HModjROSUWHKm3Qd5ZwvG.3s1JvHNNvPC3Mo6x.DXi_rj + d70J2pruXhJ9ZnbNooZiSHkrhaugWV.kquq6475ZxKP6Tu7G8iUgZUkHWCf. + aEdBFl2.4RanSkMohEfbNtwpXUQ0eDDOOPatHFB27JSP0jw-- +X-Yahoo-SMTP: oNtzSBqswBAqJIGYOgyGesyleENrhUEtEgBkQ053 +Received: from [192.168.1.30] (Robert_Adersen@180.211.100.2 with plain) + by smtp107.mail.ne1.yahoo.com with SMTP; 28 Nov 2011 23:13:25 -0800 PST +Message-ID: <4ED48611.6070605@yahoo.in> +Date: Tue, 29 Nov 2011 12:43:21 +0530 +From: Robert Adersen +User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Thunderbird/3.1.10 +MIME-Version: 1.0 +To: abc@mycompany.com +Subject: Error in the account module +Content-Type: text/plain; charset=ISO-8859-1; format=flowed +Content-Transfer-Encoding: 7bit + +Hello Sir, + +I am using the openerp v6.1 and i have problem in hr module, so try to +check it and solve my problem. + +thanks +Robert Adersen diff --git a/addons/project_issue/test/issue_demo.yml b/addons/project_issue/test/issue_demo.yml new file mode 100644 index 00000000000..1ad26e6db73 --- /dev/null +++ b/addons/project_issue/test/issue_demo.yml @@ -0,0 +1,8 @@ +- + !record {model: project.issue, id: project_task_1, view: False}: + task_id: 'project.project_task_17' + name: 'Error in account module' +- + !record {model: project.issue, id: project01, view: False}: + project_id: 'project.project_project_9' + name: 'OpenERP Integration' diff --git a/addons/project_issue/test/subscribe_issue.yml b/addons/project_issue/test/subscribe_issue.yml new file mode 100644 index 00000000000..4ba472b41ed --- /dev/null +++ b/addons/project_issue/test/subscribe_issue.yml @@ -0,0 +1,17 @@ +- + In Order to test process of Issue in OpenERP, Custmer send the issue by email. +- + !python {model: mail.thread}: | + import addons + request_file = open(addons.get_module_resource('project_issue','test', 'issue.eml'),'rb') + request_message = request_file.read() + self.message_process(cr, uid, 'project.issue', request_message) +- + After getting the mail, I check details of new issue of that customer. +- + !python {model: project.issue}: | + issue_ids = self.search(cr, uid, [('email_from', '=', 'Robert Adersen ')]) + assert issue_ids and len(issue_ids), "issue is not created after getting request" + issue = self.browse(cr, uid, issue_ids[0], context=context) + assert not issue.partner_id, "Customer should be a new" + assert issue.name == "Error in the account module", "Subject does not match" \ No newline at end of file From 370e0c6510ece36865b61a325e8bb3b508993105 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Fri, 2 Dec 2011 16:31:18 +0530 Subject: [PATCH 029/119] [IMP] marketing_campaign: cleanup demo and yml to test process of compaign bzr revid: hmo@tinyerp.com-20111202110118-3w1h2z38d844f04i --- addons/marketing_campaign/__openerp__.py | 1 - .../marketing_campaign/marketing_campaign.py | 2 +- .../marketing_campaign_demo.xml | 48 ++++++------- .../test/marketing_campaign.yml | 67 +++++++++++++++---- .../test/marketing_campaign_demo.yml | 5 -- 5 files changed, 80 insertions(+), 43 deletions(-) delete mode 100644 addons/marketing_campaign/test/marketing_campaign_demo.yml diff --git a/addons/marketing_campaign/__openerp__.py b/addons/marketing_campaign/__openerp__.py index d9052239038..44646a07ead 100644 --- a/addons/marketing_campaign/__openerp__.py +++ b/addons/marketing_campaign/__openerp__.py @@ -61,7 +61,6 @@ Note: If you need demo data, you can install the marketing_campaign_crm_demo mod 'marketing_campaign_demo.xml', ], 'test': [ - 'test/marketing_campaign_demo.yml', 'test/marketing_campaign.yml', ], 'installable': True, diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index e79b893d40c..2ec05d17d9b 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -670,7 +670,7 @@ class marketing_campaign_workitem(osv.osv): def _process_one(self, cr, uid, workitem, context=None): if workitem.state != 'todo': - return + return False activity = workitem.activity_id proxy = self.pool.get(workitem.object_id.model) diff --git a/addons/marketing_campaign/marketing_campaign_demo.xml b/addons/marketing_campaign/marketing_campaign_demo.xml index f49b918aa2c..df01161182e 100644 --- a/addons/marketing_campaign/marketing_campaign_demo.xml +++ b/addons/marketing_campaign/marketing_campaign_demo.xml @@ -1,37 +1,31 @@ - - Dummy Action - - dummy - - - - - - - Welcome in OpenERP Family! - info@tinyerp.com + Template for New Partner + info@tinyerp.com + Welcome in OpenERP Partner Channel! + ${object.email or ''} Hello, We are very happy to send Welcome message. - Cogretulation! You become now our Silver Partner. - info@tinyerp.com + Template for Silver Partner + info@tinyerp.com + Congratulation! You become now our Silver Partner. + ${object.email or ''} - Hello,We are happy to announce that you now become our Silver Partner. - Regards,OpenERP Team, + Hello, We are happy to announce that you now become our Silver Partner. + Template for Gold Partner + info@tinyerp.com Congratulation! You become our Gold Partner. - info@tinyerp.com + ${object.email or ''} - Hello, We are happy to announce that you become our Gold Partner. - Regards,OpenERP Team, + Hello, We are happy to announce that you become our Gold Partner. @@ -47,22 +41,25 @@ New Partner - + object.credit_limit < 10000 + True Silver Partner - + object.credit_limit >= 10000 and object.credit_limit < 50000 + True Gold Partner - + object.credit_limit >= 100000 + True @@ -79,12 +76,17 @@ + + Partners + [('name','like','agrolait')] + res.partner + OpenERP Partner create_date + - draft diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml index 502f9e892ec..c4a48dcf704 100644 --- a/addons/marketing_campaign/test/marketing_campaign.yml +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -1,44 +1,85 @@ - - I start compaign. + In order to test process of compaign, I start compaign. - !workflow {model: marketing.campaign, action: state_running_set, ref: marketing_campaign_openerppartnerchannel} - - I check the campaign on Running mode. + I check the campaign on Running mode after started. - !assert {model: marketing.campaign, id: marketing_campaign_openerppartnerchannel}: - state == 'running' - - This campaign is only for OpenERP partner, so I assinged this Campaign - to right segment, after that I start this segment. + I assign segment to campaign. +- + !record {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + campaign_id: marketing_campaign_openerppartnerchannel +- + I start this segment after assinged campaign. - !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment0} - - I check the segment on Running mode. + I check the segment on Running mode after started. - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: - state == 'running' - - I synchronized this segment manually to see all step of activity and process covered on this campaign. + I set credit limit for customer. +- + !python {model: res.partner}: | + self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':1000}, context=context) +- + I synchronized segment manually to see all step of activity and process covered on this campaign. - !python {model: marketing.campaign.segment}: | self.synchroniz(cr, uid, [ref("marketing_campaign_segment0")]) - - I process work item. + I check followup detail of first activity. - !python {model: marketing.campaign.workitem}: | ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) - #assert ids, 'Activity items not created' - #self.process(cr, uid, ids) - #record = self.browse(cr, uid, ids)[0] - #assert record.state == "done", "Activity item not in done state" + assert ids, 'Followup item is not created for first activity.' +- + Now I increase credit limit of customer +- + !python {model: res.partner}: | + self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':41000}, context=context) +- + I process followup of first activity. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) + self.process(cr, uid, ids) + record = self.browse(cr, uid, ids)[0] + assert record.state == "done", "Followup item should be closed after process." +- + I check followup detail of second activity after process of first activity. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) + assert ids, 'Followup item is not created for second activity.' +- + Now I increase credit limit of customer +- + !python {model: res.partner}: | + self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':151000}, context=context) +- + I process followup of second activity. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) + self.process(cr, uid, ids) + record = self.browse(cr, uid, ids)[0] + assert record.state == "done", "Followup item should be closed after process." - I print workitem report. - !python {model: marketing.campaign.workitem}: | ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), - ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) - #self.preview(cr, uid, ids) + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) + self.preview(cr, uid, ids) - I close segmentation After completion of all activity. - diff --git a/addons/marketing_campaign/test/marketing_campaign_demo.yml b/addons/marketing_campaign/test/marketing_campaign_demo.yml deleted file mode 100644 index c727132bd47..00000000000 --- a/addons/marketing_campaign/test/marketing_campaign_demo.yml +++ /dev/null @@ -1,5 +0,0 @@ -- - In order to test process of marketing campaign, I create segment. -- - !record {model: marketing.campaign.segment, id: marketing_campaign_segment0}: - campaign_id: marketing_campaign_openerppartnerchannel From 82753bfc6a544125b3f5503e80335a1f2b2606c9 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Fri, 2 Dec 2011 16:45:24 +0530 Subject: [PATCH 030/119] [IMP] marketing_campaign: clenup yml again bzr revid: hmo@tinyerp.com-20111202111524-wk0wnrki1b0bm3po --- .../test/marketing_campaign.yml | 45 ++++++++++++------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml index c4a48dcf704..18b3d95a911 100644 --- a/addons/marketing_campaign/test/marketing_campaign.yml +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -21,11 +21,6 @@ - !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: - state == 'running' -- - I set credit limit for customer. -- - !python {model: res.partner}: | - self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':1000}, context=context) - I synchronized segment manually to see all step of activity and process covered on this campaign. - @@ -36,19 +31,14 @@ - !python {model: marketing.campaign.workitem}: | ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), - ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_0'))]) assert ids, 'Followup item is not created for first activity.' -- - Now I increase credit limit of customer -- - !python {model: res.partner}: | - self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':41000}, context=context) - I process followup of first activity. - !python {model: marketing.campaign.workitem}: | ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), - ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_0'))]) self.process(cr, uid, ids) record = self.browse(cr, uid, ids)[0] assert record.state == "done", "Followup item should be closed after process." @@ -57,21 +47,44 @@ - !python {model: marketing.campaign.workitem}: | ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), - ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) assert ids, 'Followup item is not created for second activity.' - Now I increase credit limit of customer +- + !python {model: res.partner}: | + self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':41000}, context=context) +- + I process followup of second activity after set draft. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))]) + self.button_draft(cr, uid, ids, context=context) + self.process(cr, uid, ids, context=context) + record = self.browse(cr, uid, ids[0], context=context) + assert record.state == "done", "Followup item should be closed after process." +- + I check followup detail of third activity after process of second activity. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) + assert ids, 'Followup item is not created for third activity.' +- + Now I increase credit limit of customer - !python {model: res.partner}: | self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':151000}, context=context) - - I process followup of second activity. + I process followup of third activity after set draft. - !python {model: marketing.campaign.workitem}: | ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) - self.process(cr, uid, ids) - record = self.browse(cr, uid, ids)[0] + self.button_draft(cr, uid, ids, context=context) + self.process(cr, uid, ids, context=context) + record = self.browse(cr, uid, ids[0], context=context) assert record.state == "done", "Followup item should be closed after process." - I print workitem report. From f34e66ab32c5235ad2d1e208fc1f01f8f64840a9 Mon Sep 17 00:00:00 2001 From: sebastien beau Date: Sat, 3 Dec 2011 12:53:20 +0100 Subject: [PATCH 031/119] [IMP] stock refactor _create_chained_picking bzr revid: sebastien.beau@akretion.com.br-20111203115320-35jtptnnoyegqjcd --- addons/stock/stock.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 461c863aaed..08ee5dc631e 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1852,23 +1852,28 @@ class stock_move(osv.osv): result[m.picking_id].append( (m, dest) ) return result - def _create_chained_picking(self, cr, uid, pick_name, picking, ptype, move, context=None): + def _prepare_chained_picking(self, cr, uid, pick_name, picking, ptype, move, context=None): res_obj = self.pool.get('res.company') + return { + 'name': pick_name, + 'origin': tools.ustr(picking.origin or ''), + 'type': ptype, + 'note': picking.note, + 'move_type': picking.move_type, + 'auto_picking': move[0][1][1] == 'auto', + 'stock_journal_id': move[0][1][3], + 'company_id': move[0][1][4] or res_obj._company_default_get(cr, uid, 'stock.company', context=context), + 'address_id': picking.address_id.id, + 'invoice_state': 'none', + 'date': picking.date, + } + + + def _create_chained_picking(self, cr, uid, pick_name, picking, ptype, move, context=None): picking_obj = self.pool.get('stock.picking') - pick_id= picking_obj.create(cr, uid, { - 'name': pick_name, - 'origin': tools.ustr(picking.origin or ''), - 'type': ptype, - 'note': picking.note, - 'move_type': picking.move_type, - 'auto_picking': move[0][1][1] == 'auto', - 'stock_journal_id': move[0][1][3], - 'company_id': move[0][1][4] or res_obj._company_default_get(cr, uid, 'stock.company', context=context), - 'address_id': picking.address_id.id, - 'invoice_state': 'none', - 'date': picking.date, - }) + pick_id= picking_obj.create(cr, uid, self._prepare_chained_picking(cr, uid, pick_name, picking, ptype, move, context=context)) return pick_id + def create_chained_picking(self, cr, uid, moves, context=None): res_obj = self.pool.get('res.company') location_obj = self.pool.get('stock.location') From 12296a03e496cde652a4c75f90153e5f7ff3c8f9 Mon Sep 17 00:00:00 2001 From: vishmita Date: Tue, 6 Dec 2011 16:11:28 +0530 Subject: [PATCH 032/119] [FIX]Readonly char fields should be grey. lp bug: https://launchpad.net/bugs/899076 fixed bzr revid: vja@vja-desktop-20111206104128-1xrurdtr6qyoybq4 --- addons/web/static/src/css/base.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 00e8e1f5e55..c4beab3badc 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1151,7 +1151,9 @@ label.error { .openerp .oe_forms select{ padding-top: 2px; } - +.openerp .oe_forms input[disabled] { + background: #EBEBE4; +} .openerp .oe_forms textarea { resize:vertical; } From 26099a9cbca7fbbc3a234e3836bcd1ce9ae60adf Mon Sep 17 00:00:00 2001 From: "Vaibhav (OpenERP)" Date: Wed, 7 Dec 2011 18:38:39 +0530 Subject: [PATCH 033/119] [FIX] Also check for field option in form view. bzr revid: vda@tinyerp.com-20111207130839-j16iq92hl0lcf0ed --- addons/web_calendar/static/src/js/calendar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 75b168ccf5a..fefc227a2d4 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -269,7 +269,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ form.show_invalid = false; _.each(['date_start', 'date_stop', 'date_delay'], function(field) { var field_name = self[field]; - if (field_name) { + if (field_name && form.fields[field_name]) { field = form.fields[field_name]; field.set_value(data[field_name]); field.dirty = true; From 6cab87f87affc27c161186f8dd3acb8e2a767588 Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (OpenERP)" Date: Wed, 7 Dec 2011 19:00:55 +0530 Subject: [PATCH 034/119] [ADD]Implement new linechart and areachart. bzr revid: kch@tinyerp.com-20111207133055-4l8x81bkwhqxek1t --- addons/web_graph/static/src/js/graph.js | 236 +++++++++++++++++++++++- 1 file changed, 233 insertions(+), 3 deletions(-) diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index 8c330434075..d9e44992dc6 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -57,7 +57,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ }); } return $.when( - this.dataset.call_and_eval('fields_get', [false, {}], null, 1), + this.dataset.call('fields_get', []), loaded) .then(function (fields_result, view_result) { self.fields = fields_result[0]; @@ -177,14 +177,243 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ graph_data = _(graph_data).sortBy(function (point) { return point[self.abscissa] + '[[--]]' + point[self.group_field]; }); - if (this.chart == 'bar') { return this.schedule_bar(graph_data); } else if (this.chart == "pie") { return this.schedule_pie(graph_data); + } else if (this.chart == 'line') { + return this.schedule_line(graph_data); + } else if (this.chart == 'area') { + return this.schedule_area(graph_data); } }, + schedule_line: function(results) { + var self = this; + var group_list, view_chart; + if (!this.group_field) { + view_chart = "line"; + group_list = _(this.columns).map(function (column, index) { + return { + group: column.name, + text: self.fields[column.name].string, + color: COLOR_PALETTE[index % (COLOR_PALETTE.length)] + } + }); + } else { + view_chart = "line"; + group_list = _(results).chain() + .pluck(this.group_field) + .uniq() + .map(function (value, index) { + return { + group: self.ordinate + '_' + + value.toLowerCase().replace(/[\s\/]+/g,'_'), + text: value, + color: COLOR_PALETTE[index % COLOR_PALETTE.length] + }; + }).value(); + results = _(results).chain() + .groupBy(function (record) { return record[self.abscissa]; }) + .map(function (records) { + var r = {}; + // second argument is coerced to a str, no good for boolean + r[self.abscissa] = records[0][self.abscissa]; + _(records).each(function (record) { + var key = _.str.sprintf('%s_%s', + self.ordinate, + record[self.group_field].toLowerCase().replace(/[\s\/]+/g,'_')); + r[key] = record[self.ordinate]; + }); + return r; + }) + .value(); + } + var abscissa_description = { + title: "" + this.fields[this.abscissa].string + "", + template: function (obj) { + return obj[self.abscissa] || 'Undefined'; + } + }; + var ordinate_description = { + lines: true, + title: "" + this.fields[this.ordinate].string + "" + }; + + var x_axis, y_axis; + x_axis = abscissa_description; + y_axis = ordinate_description; + var renderer = function () { + if (self.$element.is(':hidden')) { + self.renderer = setTimeout(renderer, 100); + return; + } + self.renderer = null; + var line_chart = new dhtmlXChart({ + view: view_chart, + container: self.element_id+"-linechart", + value:"#"+group_list[0].group+"#", + item: { + borderColor: group_list[0].color, + color: "#000000" + }, + line: { + color: group_list[0].color, + width: 3 + }, + xAxis: x_axis, + yAxis: y_axis, + padding: { + left: 35, + bottom: 20 + }, + origin: 0, + values: group_list, + legend: { + layout: "x", + align: "left", + valign: "top", + marker: { + type: "round", + width: 12 + }, + values:group_list + } + }); + for (var m = 1; m" + this.fields[this.abscissa].string + "", + template: function (obj) { + return obj[self.abscissa] || 'Undefined'; + } + }; + var ordinate_description = { + lines: true, + title: "" + this.fields[this.ordinate].string + "" + }; + + var x_axis, y_axis; + x_axis = abscissa_description; + y_axis = ordinate_description; + var renderer = function () { + if (self.$element.is(':hidden')) { + self.renderer = setTimeout(renderer, 100); + return; + } + self.renderer = null; + var area_chart = new dhtmlXChart({ + view: view_chart, + container: self.element_id+"-areachart", + value:"#"+group_list[0].group+"#", + color:group_list[0].color, + alpha: 0.6, + padding: { + left: 75 + }, + yAxis: y_axis, + xAxis: x_axis, + legend: { + values: group_list, + width: 75, + layout: "x", + align: "left", + valign: "top", + marker: { + type: "round", + width: 12 + } + } + }); + for (var m = 1; m Date: Wed, 7 Dec 2011 19:47:10 +0100 Subject: [PATCH 035/119] [IMP] Added custom style to buttons. bzr revid: mit@openerp.com-20111207184710-th1zwrouqnuz9b30 --- addons/web/static/src/css/base.css | 96 ++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 0281ec3750f..05a29d99508 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1703,3 +1703,99 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after { .openerp .oe_view_editor_tree_grid a { display: block; } + +/***********/ +/* Buttons */ +/***********/ + +a.button:link, a.button:visited, button, input[type='submit'] { + display: inline-block; + border: 1px solid #ababab; + color: #404040; + font-weight: 550; + font-size: 12px; + padding: 3px 10px; + min-width: 50px; + text-align: center; + background: #d8d8d8, none; + -o-background-size: 100% 100%; + -moz-background-size: 100% 100%; + -webkit-background-size: auto auto !important; + background-size: 100% 100%; + background: none, -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8)); + background: none, -webkit-linear-gradient(#efefef, #d8d8d8); + background: none, -moz-linear-gradient(#efefef, #d8d8d8); + background: none, -o-linear-gradient(top, #efefef, #d8d8d8); + background: none, -khtml-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8)); + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + -o-border-radius: 3px; + -ms-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); + -webkit-font-smoothing: antialiased; + outline: none; +} + +a.button:hover, button:hover, input[type='submit']:hover { + background: #e3e3e3, none; + -o-background-size: 100% 100%; + -moz-background-size: 100% 100%; + -webkit-background-size: auto auto !important; + background-size: 100% 100%; + background: none, -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + background: none, -webkit-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3); + background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + cursor: pointer; +} + +a.button:focus, button:focus, input[type='submit']:focus { + border: 1px solid #80bfff; + background: #e3e3e3, none; + -o-background-size: 100% 100%; + -moz-background-size: 100% 100%; + -webkit-background-size: auto auto !important; + background-size: 100% 100%; + background: none, -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + background: none, -webkit-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3); + background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + -moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -o-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; +} + +a.button:active, a.button.active, button:active, button.active, input[type='submit']:active, input[type='submit'].active { + background: #e3e3e3; + background: -moz-linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; + background: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6)) #1b468f; + background: linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; + -moz-box-shadow: none, 0 0 0 transparent; + -webkit-box-shadow: none, 0 0 0 transparent; + -o-box-shadow: none, 0 0 0 transparent; + -box-shadow: none, 0 0 0 transparent; +} + +a.button.disabled, button:disabled, input[type='submit']:disabled { + background: #efefef !important; + border: 1px solid #d1d1d1 !important; + font-weight: 550; + font-size: 12px; + padding: 3px 10px; + min-width: 50px; + -moz-box-shadow: none !important, 0 0 0 transparent; + -webkit-box-shadow: none !important, 0 0 0 transparent; + -o-box-shadow: none !important, 0 0 0 transparent; + -box-shadow: none !important, 0 0 0 transparent; + color: #aaaaaa !important; + cursor: default; + text-shadow: 0 1px 1px white !important; +} From 06d0b51915760cd38ebe0660f1dca484aa3fc558 Mon Sep 17 00:00:00 2001 From: vishmita Date: Thu, 8 Dec 2011 12:18:18 +0530 Subject: [PATCH 036/119] [FIX]Improve code. lp bug: https://launchpad.net/bugs/899076 fixed bzr revid: vja@vja-desktop-20111208064818-08kpnp7b1y3ybwjp --- addons/web/static/src/css/base.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index c4beab3badc..de11e2d182a 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1151,8 +1151,8 @@ label.error { .openerp .oe_forms select{ padding-top: 2px; } -.openerp .oe_forms input[disabled] { - background: #EBEBE4; +.openerp .oe_forms input[disabled],.openerp .oe_forms select[disabled], .openerp .oe_forms textarea[disabled]{ + background: #EBEBE4 !important; } .openerp .oe_forms textarea { resize:vertical; From 01668688c7cde29438a1ab55cc8b2146459959e0 Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (OpenERP)" Date: Thu, 8 Dec 2011 12:30:02 +0530 Subject: [PATCH 037/119] [IMP]Improved code by removing duplicate code. bzr revid: kch@tinyerp.com-20111208070002-oqya5t5zcrrtl4qg --- addons/web_graph/static/src/js/graph.js | 289 ++++-------------------- 1 file changed, 41 insertions(+), 248 deletions(-) diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index d9e44992dc6..6363894292b 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -57,7 +57,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ }); } return $.when( - this.dataset.call('fields_get', []), + this.dataset.call_and_eval('fields_get', [false, {}], null, 1), loaded) .then(function (fields_result, view_result) { self.fields = fields_result[0]; @@ -177,248 +177,20 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ graph_data = _(graph_data).sortBy(function (point) { return point[self.abscissa] + '[[--]]' + point[self.group_field]; }); - if (this.chart == 'bar') { - return this.schedule_bar(graph_data); + if (this.chart == 'bar' || 'line' || 'area') { + return this.schedule_bar_line_area(graph_data); } else if (this.chart == "pie") { return this.schedule_pie(graph_data); - } else if (this.chart == 'line') { - return this.schedule_line(graph_data); - } else if (this.chart == 'area') { - return this.schedule_area(graph_data); } }, - schedule_line: function(results) { + schedule_bar_line_area: function(results) { var self = this; - var group_list, view_chart; + var group_list, + view_chart = (self.chart == 'line')?'line':(self.chart == 'area')?'area':''; if (!this.group_field) { - view_chart = "line"; - group_list = _(this.columns).map(function (column, index) { - return { - group: column.name, - text: self.fields[column.name].string, - color: COLOR_PALETTE[index % (COLOR_PALETTE.length)] - } - }); - } else { - view_chart = "line"; - group_list = _(results).chain() - .pluck(this.group_field) - .uniq() - .map(function (value, index) { - return { - group: self.ordinate + '_' + - value.toLowerCase().replace(/[\s\/]+/g,'_'), - text: value, - color: COLOR_PALETTE[index % COLOR_PALETTE.length] - }; - }).value(); - - results = _(results).chain() - .groupBy(function (record) { return record[self.abscissa]; }) - .map(function (records) { - var r = {}; - // second argument is coerced to a str, no good for boolean - r[self.abscissa] = records[0][self.abscissa]; - _(records).each(function (record) { - var key = _.str.sprintf('%s_%s', - self.ordinate, - record[self.group_field].toLowerCase().replace(/[\s\/]+/g,'_')); - r[key] = record[self.ordinate]; - }); - return r; - }) - .value(); - } - var abscissa_description = { - title: "" + this.fields[this.abscissa].string + "", - template: function (obj) { - return obj[self.abscissa] || 'Undefined'; + if (self.chart == 'bar'){ + view_chart = (this.orientation === 'horizontal') ? 'barH' : 'bar'; } - }; - var ordinate_description = { - lines: true, - title: "" + this.fields[this.ordinate].string + "" - }; - - var x_axis, y_axis; - x_axis = abscissa_description; - y_axis = ordinate_description; - var renderer = function () { - if (self.$element.is(':hidden')) { - self.renderer = setTimeout(renderer, 100); - return; - } - self.renderer = null; - var line_chart = new dhtmlXChart({ - view: view_chart, - container: self.element_id+"-linechart", - value:"#"+group_list[0].group+"#", - item: { - borderColor: group_list[0].color, - color: "#000000" - }, - line: { - color: group_list[0].color, - width: 3 - }, - xAxis: x_axis, - yAxis: y_axis, - padding: { - left: 35, - bottom: 20 - }, - origin: 0, - values: group_list, - legend: { - layout: "x", - align: "left", - valign: "top", - marker: { - type: "round", - width: 12 - }, - values:group_list - } - }); - for (var m = 1; m" + this.fields[this.abscissa].string + "", - template: function (obj) { - return obj[self.abscissa] || 'Undefined'; - } - }; - var ordinate_description = { - lines: true, - title: "" + this.fields[this.ordinate].string + "" - }; - - var x_axis, y_axis; - x_axis = abscissa_description; - y_axis = ordinate_description; - var renderer = function () { - if (self.$element.is(':hidden')) { - self.renderer = setTimeout(renderer, 100); - return; - } - self.renderer = null; - var area_chart = new dhtmlXChart({ - view: view_chart, - container: self.element_id+"-areachart", - value:"#"+group_list[0].group+"#", - color:group_list[0].color, - alpha: 0.6, - padding: { - left: 75 - }, - yAxis: y_axis, - xAxis: x_axis, - legend: { - values: group_list, - width: 75, - layout: "x", - align: "left", - valign: "top", - marker: { - type: "round", - width: 12 - } - } - }); - for (var m = 1; m 1) { + if (self.chart == 'bar' && (this.columns.length > 1)) { this.$element.text( 'OpenERP Web does not support combining grouping and ' + 'multiple columns in graph at this time.'); @@ -440,8 +212,10 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ } // transform series for clustered charts into series for stacked // charts - view_chart = (this.orientation === 'horizontal') + if (self.chart == 'bar'){ + view_chart = (this.orientation === 'horizontal') ? 'stackedBarH' : 'stackedBar'; + } group_list = _(results).chain() .pluck(this.group_field) .uniq() @@ -482,7 +256,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ }; var x_axis, y_axis; - if (self.orientation == 'horizontal') { + if (self.chart == 'bar' && self.orientation == 'horizontal') { x_axis = ordinate_description; y_axis = abscissa_description; } else { @@ -495,9 +269,9 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ return; } self.renderer = null; - var bar_chart = new dhtmlXChart({ + var charts = new dhtmlXChart({ view: view_chart, - container: self.element_id+"-barchart", + container: self.element_id+"-"+self.chart+"chart", value:"#"+group_list[0].group+"#", gradient: "3d", border: false, @@ -525,10 +299,20 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ } } }); + if (self.chart == 'line'){ + charts.define("item",{ + borderColor: group_list[0].color, + color: "#000000" + }); + charts.define("line",{ + color: group_list[0].color, + width: 3 + }); + } for (var m = 1; m Date: Thu, 8 Dec 2011 10:52:22 +0100 Subject: [PATCH 038/119] Button restlyling now applies to input of type 'reset' bzr revid: mit@openerp.com-20111208095222-f8luldz0vkxwvthe --- addons/web/static/src/css/base.css | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 05a29d99508..cbfb8b0c710 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -737,7 +737,7 @@ label.error { } /* List */ .openerp .oe-listview table { - clear: right; + reset: right; width: 100%; border-spacing: 0; border: 1px solid silver; @@ -983,7 +983,7 @@ label.error { position: relative; } .openerp .oe_frame.oe_forms { - clear: both; + reset: both; } .openerp table.oe_frame { color: #4c4c4c; @@ -1306,7 +1306,7 @@ label.error { color: inherit; } .openerp .oe-view-manager-logs { - clear: both; + reset: both; background: #fff; margin: 0.25em 0; font-size: 85%; @@ -1385,7 +1385,7 @@ label.error { margin: 4px 0 0 4px; } .openerp .oe-sidebar-attachments-items { - clear: both; + reset: both; padding-top: 5px !important; } .openerp .oe-sidebar-attachments-items li { @@ -1708,7 +1708,7 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after { /* Buttons */ /***********/ -a.button:link, a.button:visited, button, input[type='submit'] { +a.button:link, a.button:visited, button, input[type='submit'], input[type='reset'] { display: inline-block; border: 1px solid #ababab; color: #404040; @@ -1741,7 +1741,7 @@ a.button:link, a.button:visited, button, input[type='submit'] { outline: none; } -a.button:hover, button:hover, input[type='submit']:hover { +a.button:hover, button:hover, input[type='submit']:hover, input[type='reset']:hover { background: #e3e3e3, none; -o-background-size: 100% 100%; -moz-background-size: 100% 100%; @@ -1755,7 +1755,7 @@ a.button:hover, button:hover, input[type='submit']:hover { cursor: pointer; } -a.button:focus, button:focus, input[type='submit']:focus { +a.button:focus, button:focus, input[type='submit']:focus, input[type='reset']:focus { border: 1px solid #80bfff; background: #e3e3e3, none; -o-background-size: 100% 100%; @@ -1773,7 +1773,7 @@ a.button:focus, button:focus, input[type='submit']:focus { -box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; } -a.button:active, a.button.active, button:active, button.active, input[type='submit']:active, input[type='submit'].active { +a.button:active, a.button.active, button:active, button.active, input[type='submit']:active, input[type='submit'].active, input[type='reset']:active, input[type='reset'].active { background: #e3e3e3; background: -moz-linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; background: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6)) #1b468f; @@ -1784,7 +1784,7 @@ a.button:active, a.button.active, button:active, button.active, input[type='subm -box-shadow: none, 0 0 0 transparent; } -a.button.disabled, button:disabled, input[type='submit']:disabled { +a.button.disabled, button:disabled, input[type='submit']:disabled, input[type='reset']:disabled { background: #efefef !important; border: 1px solid #d1d1d1 !important; font-weight: 550; From 9ca9d38c14b8a590fe49bbda0d0ee7f52434ca39 Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Thu, 8 Dec 2011 11:20:34 +0100 Subject: [PATCH 039/119] Limit button style to buttons within a .openerp div bzr revid: mit@openerp.com-20111208102034-6ut270uvcw2tya99 --- addons/web/static/src/css/base.css | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index cbfb8b0c710..4d8b91815cb 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1708,7 +1708,7 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after { /* Buttons */ /***********/ -a.button:link, a.button:visited, button, input[type='submit'], input[type='reset'] { +.openerp a.button:link, a.button:visited, button, input[type='submit'], input[type='reset'] { display: inline-block; border: 1px solid #ababab; color: #404040; @@ -1741,7 +1741,7 @@ a.button:link, a.button:visited, button, input[type='submit'], input[type='reset outline: none; } -a.button:hover, button:hover, input[type='submit']:hover, input[type='reset']:hover { +.openerp a.button:hover, button:hover, input[type='submit']:hover, input[type='reset']:hover { background: #e3e3e3, none; -o-background-size: 100% 100%; -moz-background-size: 100% 100%; @@ -1755,7 +1755,7 @@ a.button:hover, button:hover, input[type='submit']:hover, input[type='reset']:ho cursor: pointer; } -a.button:focus, button:focus, input[type='submit']:focus, input[type='reset']:focus { +.openerp a.button:focus, button:focus, input[type='submit']:focus, input[type='reset']:focus { border: 1px solid #80bfff; background: #e3e3e3, none; -o-background-size: 100% 100%; @@ -1773,7 +1773,7 @@ a.button:focus, button:focus, input[type='submit']:focus, input[type='reset']:fo -box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; } -a.button:active, a.button.active, button:active, button.active, input[type='submit']:active, input[type='submit'].active, input[type='reset']:active, input[type='reset'].active { +.openerp a.button:active, a.button.active, button:active, button.active, input[type='submit']:active, input[type='submit'].active, input[type='reset']:active, input[type='reset'].active { background: #e3e3e3; background: -moz-linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; background: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6)) #1b468f; @@ -1784,7 +1784,7 @@ a.button:active, a.button.active, button:active, button.active, input[type='subm -box-shadow: none, 0 0 0 transparent; } -a.button.disabled, button:disabled, input[type='submit']:disabled, input[type='reset']:disabled { +.openerp a.button.disabled, button:disabled, input[type='submit']:disabled, input[type='reset']:disabled { background: #efefef !important; border: 1px solid #d1d1d1 !important; font-weight: 550; From ce8239440a49b853907b3fd6c0ccc8bee40af226 Mon Sep 17 00:00:00 2001 From: "Atik Agewan (OpenERP)" Date: Fri, 9 Dec 2011 15:21:02 +0530 Subject: [PATCH 040/119] [IMP]: stage_previous, stage_next,case_reset Cover in Test case bzr revid: aag@tinyerp.com-20111209095102-3wgjy7v66y58a7eg --- .../test/recruitment_process.yml | 41 +++++++++++++++---- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index 43575137a6e..565b67168b6 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -19,17 +19,23 @@ assert applicant.name == "Application for the post of Jr.application Programmer.", "Subject does not match" assert applicant.state == "draft" assert len(resume_ids), "Resume does not attached." + +- + I Refuse applicant for the Recruitment. +- + !python {model: hr.applicant}: | + self.case_close(cr, uid, [ref("hr_case_programmer")]) +- + I open applicant for the Recruitment. +- + !python {model: hr.applicant}: | + self.case_reset(cr, uid, [ref("hr_case_programmer")]) + self.case_open(cr, uid, [ref("hr_case_programmer")]) - I assign the Job position to the applicant - !python {model: hr.applicant}: | self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')}) -- - I open applicant for the Recruitment -- - - !python {model: hr.applicant}: | - self.case_open(cr, uid, [ref("hr_case_programmer")]) - I start communication with applicant, first schedule phonecall. - @@ -40,6 +46,21 @@ - !python {model: hr.applicant}: | self.action_makeMeeting(cr, uid, [ref('hr_case_programmer')]) +- + I check Initial Qualification of applicant. +- + !python {model: hr.applicant}: | + self.stage_next(cr, uid, [ref('hr_case_programmer')]) +- + I schedule First Interview of applicant. +- + !python {model: hr.applicant}: | + self.stage_next(cr, uid, [ref('hr_case_programmer')]) +- + On a successful First Interview of applicant, I schedule Second Interview. +- + !python {model: hr.applicant}: | + self.stage_next(cr, uid, [ref('hr_case_programmer')]) - Applicant fillup the answer of the interview quetion. - @@ -56,7 +77,13 @@ !python {model: hr.applicant}: | self.action_print_survey(cr, uid, [ref('hr_case_programmer')]) - - On a successful interview with the applicant, I hired employee. + On a successful Second Interview of applicant Contract is Proposed to applicant. +- + !python {model: hr.applicant}: | + self.stage_next(cr, uid, [ref('hr_case_programmer')]) + self.stage_previous(cr, uid, [ref('hr_case_programmer')]) +- + I Hired employee. - !python {model: hr.applicant}: | self.case_close_with_emp(cr, uid, [ref('hr_case_programmer')]) From d4299ee9f086d46259147e0ab21438fbcf59e58f Mon Sep 17 00:00:00 2001 From: "Atik Agewan (OpenERP)" Date: Fri, 9 Dec 2011 15:55:28 +0530 Subject: [PATCH 041/119] [IMP]: Dead Code bzr revid: aag@tinyerp.com-20111209102528-c9o6vse1mcfp1m14 --- addons/hr_recruitment/hr_recruitment.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 8730d1fbf32..0acf41c5601 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -183,7 +183,7 @@ class hr_applicant(crm.crm_case, osv.osv): 'color': fields.integer('Color Index'), 'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True), } - + # Dead Code def _get_stage(self, cr, uid, context=None): ids = self.pool.get('hr.recruitment.stage').search(cr, uid, [], context=context) return ids and ids[0] or False @@ -365,6 +365,7 @@ class hr_applicant(crm.crm_case, osv.osv): self.write(cr, uid, [res_id], vals, context) return res_id + # Dead Code def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None): if isinstance(ids, (str, int, long)): ids = [ids] From 5d15bf071f31f9fd2ea6c7dc6d633d5c8d5ff31f Mon Sep 17 00:00:00 2001 From: "Atik Agewan (OpenERP)" Date: Fri, 9 Dec 2011 16:25:22 +0530 Subject: [PATCH 042/119] [IMP]: I create Employee ==> partner bzr revid: aag@tinyerp.com-20111209105522-1wsw36413e2ym9qk --- addons/hr_recruitment/test/recruitment_process.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index 565b67168b6..010754bc55d 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -87,8 +87,17 @@ - !python {model: hr.applicant}: | self.case_close_with_emp(cr, uid, [ref('hr_case_programmer')]) + context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) - I check that applicant is "Hired". - !assert {model: hr.applicant, id: hr_case_programmer}: - state == 'done' +- + Now Hired Employee want to be a Partner of Company. +- + !record {model: hr.recruitment.partner.create, id: hr_recruitment_partner_id1 }: +- + !python {model: hr.recruitment.partner.create}: | + context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) + self.make_order(cr, uid, [ref("hr_recruitment_partner_id1")], context=context) From fb674a75b95a318eea5e82df0775612ca4001ff1 Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (OpenERP)" Date: Fri, 9 Dec 2011 16:35:21 +0530 Subject: [PATCH 043/119] [IMP]Improved code for use different properties when different chart type. bzr revid: kch@tinyerp.com-20111209110521-nlxit0up8h814ms0 --- addons/web_graph/static/src/js/graph.js | 44 ++++++++++++------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index 6363894292b..6cf9998fdda 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -273,7 +273,8 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ view: view_chart, container: self.element_id+"-"+self.chart+"chart", value:"#"+group_list[0].group+"#", - gradient: "3d", + gradient: (self.chart == "bar") ? "3d" : "light", + alpha: (self.chart == "area") ? 0.6 : 1, border: false, width: 1024, tooltip:{ @@ -281,7 +282,15 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ self.abscissa, group_list[0].text, group_list[0].group) }, radius: 0, - color:group_list[0].color, + color: (self.chart != "line") ? group_list[0].color : "", + item: (self.chart == "line") ? { + borderColor: group_list[0].color, + color: "#000000" + } : "", + line: (self.chart == "line") ? { + color: group_list[0].color, + width: 3 + } : "", origin:0, xAxis: x_axis, yAxis: y_axis, @@ -299,16 +308,7 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ } } }); - if (self.chart == 'line'){ - charts.define("item",{ - borderColor: group_list[0].color, - color: "#000000" - }); - charts.define("line",{ - color: group_list[0].color, - width: 3 - }); - } + for (var m = 1; m Date: Fri, 9 Dec 2011 17:08:32 +0530 Subject: [PATCH 044/119] [IMP]: hr_recruitment:Test func of hr_recruitment_employee_hired bzr revid: aag@tinyerp.com-20111209113832-ji33od2ert7n90pc --- .../test/recruitment_process.yml | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index 010754bc55d..e1d6133d036 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -19,7 +19,6 @@ assert applicant.name == "Application for the post of Jr.application Programmer.", "Subject does not match" assert applicant.state == "draft" assert len(resume_ids), "Resume does not attached." - - I Refuse applicant for the Recruitment. - @@ -83,7 +82,7 @@ self.stage_next(cr, uid, [ref('hr_case_programmer')]) self.stage_previous(cr, uid, [ref('hr_case_programmer')]) - - I Hired employee. + I Hired Applicant. - !python {model: hr.applicant}: | self.case_close_with_emp(cr, uid, [ref('hr_case_programmer')]) @@ -93,6 +92,25 @@ - !assert {model: hr.applicant, id: hr_case_programmer}: - state == 'done' +- + I Not give Employeement to Hired Aplicant till. +- + !python {model: hired.employee}: | + context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) + emp_id = self.create(cr, uid, {}, context=context) + self.case_close(cr, uid, [emp_id], context=context) +- + Now I give Employeement to Hired Applicant . +- + !python {model: hr.applicant}: | + self.case_reset(cr, uid, [ref("hr_case_programmer")]) + self.case_open(cr, uid, [ref("hr_case_programmer")]) + context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) +- + !python {model: hired.employee}: | + context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) + emp_hr_id = self.create(cr, uid, {}, context=context) + self.case_close_with_emp(cr, uid, [emp_hr_id], context=context) - Now Hired Employee want to be a Partner of Company. - From 0b1365cbfd67a7dfd63cfd1a901b6a997e6d31d3 Mon Sep 17 00:00:00 2001 From: "Atik Agewan (OpenERP)" Date: Fri, 9 Dec 2011 17:38:25 +0530 Subject: [PATCH 045/119] [IMP]: hr_recruitment:Test func of hr.recruitment.job2phonecall wizards bzr revid: aag@tinyerp.com-20111209120825-sqkpwjubtr08w1ee --- addons/hr_recruitment/test/recruitment_process.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index e1d6133d036..d87f21c5f24 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -34,12 +34,16 @@ I assign the Job position to the applicant - !python {model: hr.applicant}: | + context.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")}) self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')}) - I start communication with applicant, first schedule phonecall. +- + !record {model: hr.recruitment.job2phonecall, id: hr_recruitment_job2phonecall_id1 }: - !python {model: hr.recruitment.job2phonecall}: | - self.make_phonecall(cr, uid, [ref('hr_case_programmer')]) + context.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")}) + self.make_phonecall(cr, uid, [ref('hr_recruitment_job2phonecall_id1')], context=context) - I schedule meeting with applicant for interview. - From 85f9bf937cde859e83c061cdd7e166a038551d07 Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Fri, 9 Dec 2011 16:58:54 +0100 Subject: [PATCH 046/119] [FIX] Fixed a bad 'replace all' bzr revid: mit@openerp.com-20111209155854-1u8ay6j0iui3n3rq --- addons/web/static/src/css/base.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 59a24c7906e..39b4d26cf75 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -737,7 +737,7 @@ label.error { } /* List */ .openerp .oe-listview table { - reset: right; + clear: right; width: 100%; border-spacing: 0; border: 1px solid silver; @@ -993,7 +993,7 @@ label.error { position: relative; } .openerp .oe_frame.oe_forms { - reset: both; + clear: both; } .openerp table.oe_frame { color: #4c4c4c; @@ -1316,7 +1316,7 @@ label.error { color: inherit; } .openerp .oe-view-manager-logs { - reset: both; + clear: both; background: #fff; margin: 0.25em 0; font-size: 85%; @@ -1395,7 +1395,7 @@ label.error { margin: 4px 0 0 4px; } .openerp .oe-sidebar-attachments-items { - reset: both; + clear: both; padding-top: 5px !important; } .openerp .oe-sidebar-attachments-items li { From 5030f3e6d17125b35e6be7928930fb0f0bc0ed42 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Mon, 12 Dec 2011 11:52:25 +0530 Subject: [PATCH 047/119] [IMP] solved the error in yml test case bzr revid: tpa@tinyerp.com-20111212062225-pjqkhlz7nbg1k09h --- addons/marketing_campaign/marketing_campaign_demo.xml | 4 ++-- addons/marketing_campaign/test/marketing_campaign.yml | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/addons/marketing_campaign/marketing_campaign_demo.xml b/addons/marketing_campaign/marketing_campaign_demo.xml index df01161182e..aaf5a98c6bc 100644 --- a/addons/marketing_campaign/marketing_campaign_demo.xml +++ b/addons/marketing_campaign/marketing_campaign_demo.xml @@ -63,7 +63,7 @@ - + @@ -78,7 +78,7 @@ Partners - [('name','like','agrolait')] + [('name','like','Agrolait')] res.partner diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml index 18b3d95a911..562e2f981e0 100644 --- a/addons/marketing_campaign/test/marketing_campaign.yml +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -7,11 +7,6 @@ - !assert {model: marketing.campaign, id: marketing_campaign_openerppartnerchannel}: - state == 'running' -- - I assign segment to campaign. -- - !record {model: marketing.campaign.segment, id: marketing_campaign_segment0}: - campaign_id: marketing_campaign_openerppartnerchannel - I start this segment after assinged campaign. - From c922cd895f81ee396be35424ebe247db2f2e025d Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Mon, 12 Dec 2011 12:44:29 +0530 Subject: [PATCH 048/119] [FIX] marketing_campaign: Resolved conflicts. bzr revid: uco@tinyerp.com-20111212071429-42kl7qrteufbkyna --- .../marketing_campaign_demo.xml | 40 ------------------- 1 file changed, 40 deletions(-) diff --git a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml index 26ea71f1618..7b45c959035 100644 --- a/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml +++ b/addons/marketing_campaign_crm_demo/marketing_campaign_demo.xml @@ -39,10 +39,6 @@ -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello,Thanks for generous interest you have shown in the openERP.Regards,OpenERP Team, For OpenERP OnDemand Free Trial 2010 @@ -52,10 +48,6 @@ -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello,We have very good offer that might suit you. We propose you to subscribe to the OpenERP Discovery Day on May 2010. If any further information required kindly revert back. @@ -64,20 +56,12 @@ For OpenERP Discovery Day on May 2010 -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Thanks for subscribing to the OpenERP Discovery Day info@tinyerp.com -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello,Thanks for showing intrest and for subscribing to the OpenERP Discovery Day. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -85,20 +69,12 @@ For OpenERP Discovery Day -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Thanks for buying the OpenERP book info@tinyerp.com -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello,Thanks for showing intrest and buying the OpenERP book. If any further information required kindly revert back. I really appreciate your co-operation on this. @@ -112,10 +88,6 @@ -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello, We have very good offer that might suit you. For our gold partners,We are arranging free technical training on june,2010. If any further information required kindly revert back. @@ -130,10 +102,6 @@ -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello, We have very good offer that might suit you. For our silver partners,We are paid technical training on june,2010. If any further information required kindly revert back. @@ -148,10 +116,6 @@ -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello, We have very good offer that might suit you. For our silver partners,We are offering Gold partnership. If any further information required kindly revert back. @@ -166,10 +130,6 @@ -<<<<<<< TREE - -======= ->>>>>>> MERGE-SOURCE Hello, Thanks for showing intrest and for subscribing to technical training.If any further information required kindly revert back.I really appreciate your co-operation on this. Regards,OpenERP Team, For subscribing to technical training From f09915b5e4776db26eda5a014c82c78581c2fe5e Mon Sep 17 00:00:00 2001 From: vishmita Date: Mon, 12 Dec 2011 16:52:19 +0530 Subject: [PATCH 049/119] [FIX]fixed change color of readonly fields. bzr revid: vja@vja-desktop-20111212112219-1bx7xocogk6ji236 --- addons/web/static/src/css/base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index de11e2d182a..f0bdc872176 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1152,7 +1152,7 @@ label.error { padding-top: 2px; } .openerp .oe_forms input[disabled],.openerp .oe_forms select[disabled], .openerp .oe_forms textarea[disabled]{ - background: #EBEBE4 !important; + background: #E0E0E0; } .openerp .oe_forms textarea { resize:vertical; From f9524f5dba526a802a050844df939f0967f5e806 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Tue, 13 Dec 2011 10:52:38 +0530 Subject: [PATCH 050/119] [IMP] improvement in YML test cases in marketing_campaign module bzr revid: tpa@tinyerp.com-20111213052238-kuk13vidnoa3fwhq --- .../marketing_campaign/marketing_campaign.py | 5 +- .../test/marketing_campaign.yml | 50 +++++++++++++++++-- 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 2ec05d17d9b..4e6f6a5227e 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -164,11 +164,12 @@ Normal - the campaign runs normally and automatically sends all emails and repor self.write(cr, uid, ids, {'state': 'cancelled'}) return True - + # dead code def signal(self, cr, uid, model, res_id, signal, run_existing=True, context=None): record = self.pool.get(model).browse(cr, uid, res_id, context) return self._signal(cr, uid, record, signal, run_existing, context) + #dead code def _signal(self, cr, uid, record, signal, run_existing=True, context=None): if not signal: raise ValueError('signal cannot be False') @@ -461,6 +462,7 @@ class marketing_campaign_activity(osv.osv): return super(marketing_campaign_activity, self).search(cr, uid, args, offset, limit, order, context, count) + #dead code def _process_wi_report(self, cr, uid, activity, workitem, context=None): service = netsvc.LocalService('report.%s'%activity.report_id.report_name) (report_data, format) = service.create(cr, uid, [], {}, {}) @@ -481,6 +483,7 @@ class marketing_campaign_activity(osv.osv): activity.email_template_id.id, workitem.res_id, context=context) + #dead code def _process_wi_action(self, cr, uid, activity, workitem, context=None): if context is None: context = {} diff --git a/addons/marketing_campaign/test/marketing_campaign.yml b/addons/marketing_campaign/test/marketing_campaign.yml index 562e2f981e0..1b7a7fa2ae3 100644 --- a/addons/marketing_campaign/test/marketing_campaign.yml +++ b/addons/marketing_campaign/test/marketing_campaign.yml @@ -20,7 +20,27 @@ I synchronized segment manually to see all step of activity and process covered on this campaign. - !python {model: marketing.campaign.segment}: | + segment_id = self.browse(cr ,uid ,ref("marketing_campaign_segment0") ,context) + assert segment_id.date_next_sync, 'Next Synchronization date is not calculated.' self.synchroniz(cr, uid, [ref("marketing_campaign_segment0")]) +- + I cancel Marketing Workitems. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel'))]) + self.button_cancel(cr, uid, ids) + record = self.browse(cr, uid, ids[0]) + assert record.state == 'cancelled' or record.state == 'done' , 'Marketing Workitem shoud be in cancel state.' +- + I set Marketing Workitems in draft state. +- + !python {model: marketing.campaign.workitem}: | + ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), + ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel'))]) + self.button_draft(cr, uid, ids) + record = self.browse(cr, uid, ids[0]) + assert record.state == 'todo' or record.state == 'done' , 'Marketing Workitem shoud be in draft state.' - I check followup detail of first activity. - @@ -28,7 +48,9 @@ ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')), ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_0'))]) assert ids, 'Followup item is not created for first activity.' -- + work_item_id = self.browse(cr ,uid ,ids[0] ,context) + assert work_item_id.res_name, 'Resource Name is not defined.' +- I process followup of first activity. - !python {model: marketing.campaign.workitem}: | @@ -49,7 +71,7 @@ - !python {model: res.partner}: | self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':41000}, context=context) -- +- I process followup of second activity after set draft. - !python {model: marketing.campaign.workitem}: | @@ -71,7 +93,7 @@ - !python {model: res.partner}: | self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':151000}, context=context) -- +- I process followup of third activity after set draft. - !python {model: marketing.campaign.workitem}: | @@ -89,7 +111,27 @@ ('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))]) self.preview(cr, uid, ids) - - I close segmentation After completion of all activity. + I cancel segmentation because of some activity. +- + !workflow {model: marketing.campaign.segment, action: state_cancel_set, ref: marketing_campaign_segment0} +- + I check the segmentation is canceled. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + - state == 'cancelled' +- + I reopen the segmentation. +- + !workflow {model: marketing.campaign.segment, action: state_draft_set, ref: marketing_campaign_segment0} +- + !workflow {model: marketing.campaign.segment, action: state_running_set, ref: marketing_campaign_segment0} +- + I check the segment on Running mode after started. +- + !assert {model: marketing.campaign.segment, id: marketing_campaign_segment0}: + - state == 'running' +- + I close segmentation After completion of all activity. - !workflow {model: marketing.campaign.segment, action: state_done_set, ref: marketing_campaign_segment0} - From 3ee8a2e4ce7bc44a534835553b3aaa2fe106d9a2 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 13 Dec 2011 17:22:35 +0100 Subject: [PATCH 051/119] [IMP] Use current month range search for calendar view bzr revid: fme@openerp.com-20111213162235-a5zz8jp0he9rd3n0 --- addons/web_calendar/static/src/js/calendar.js | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 887bdc47780..aac3dcb4f3b 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -10,6 +10,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ // Dhtmlx scheduler ? init: function(parent, dataset, view_id, options) { this._super(parent); + this.ready = $.Deferred(); this.set_default_options(options); this.dataset = dataset; this.model = dataset.model; @@ -26,6 +27,9 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ '#905000', '#9b0000', '#840067', '#510090', '#0000c9', '#009b00', '#9abe00', '#ffc900' ]; this.color_map = {}; this.last_search = []; + this.range_start = null; + this.range_stop = null; + this.update_range_dates(Date.today()); }, start: function() { this._super(); @@ -126,9 +130,8 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ scheduler.attachEvent('onClick', this.do_edit_event); scheduler.attachEvent('onLightbox', this.do_edit_event); - scheduler.attachEvent('onViewChange', function(mode, date) { - self.$element.removeClass('oe_cal_day oe_cal_week oe_cal_month').addClass('oe_cal_' + mode); - }); + scheduler.attachEvent('onViewChange', this.on_view_changed); + this.refresh_scheduler(); if (this.options.sidebar) { this.mini_calendar = scheduler.renderCalendar({ @@ -141,6 +144,18 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ }); } }, + on_view_changed: function(mode, date) { + this.$element.removeClass('oe_cal_day oe_cal_week oe_cal_month').addClass('oe_cal_' + mode); + if (!date.between(this.range_start, this.range_stop)) { + this.update_range_dates(date); + this.do_ranged_search(); + } + this.ready.resolve(); + }, + update_range_dates: function(date) { + this.range_start = date.clone().moveToFirstDayOfMonth(); + this.range_stop = this.range_start.clone().addMonths(1).addSeconds(-1); + }, refresh_scheduler: function() { scheduler.setCurrentView(scheduler._date); }, @@ -345,23 +360,30 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ return data; }, do_search: function(domain, context, group_by) { + this.last_search = arguments; + this.do_ranged_search(); + }, + do_ranged_search: function() { var self = this - if (!domain) { - this.do_search.apply(this, this.last_search); - } else { - this.last_search = [domain, context, group_by]; - } scheduler.clearAll(); - $.when(this.has_been_loaded).then(function() { + $.when(this.has_been_loaded, this.ready).then(function() { self.dataset.read_slice(_.keys(self.fields), { offset: 0, - limit: self.limit + domain: self.get_range_domain(), + context: self.last_search[1] }, function(events) { self.dataset_events = events; self.on_events_loaded(events); }); }); }, + get_range_domain: function() { + var format = openerp.web.date_to_str, + domain = this.last_search[0].slice(0); + domain.unshift([this.date_start, '>=', format(this.range_start.clone().addDays(-6))]); + domain.unshift([this.date_start, '<=', format(this.range_stop.clone().addDays(6))]); + return domain; + }, do_show: function () { var self = this; $.when(this.has_been_loaded).then(function() { From 731e775309e4a8c81356776b9c219536b51cfa53 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 13 Dec 2011 17:51:17 +0100 Subject: [PATCH 052/119] [FIX] Fixed dashboard creatable action default_view flag bzr revid: fme@openerp.com-20111213165117-tbj32662hr2tilco --- addons/web_dashboard/static/src/js/dashboard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index c7132d7a9ef..f5fa0387adb 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -154,7 +154,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({ if (action_attrs.domain) { action.domain = action_attrs.domain; } - var action_orig = _.extend({}, action); + var action_orig = _.extend({ flags : {} }, action); if (view_mode && view_mode != action.view_mode) { var action_view_mode = action.view_mode.split(','); @@ -195,7 +195,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({ var action_id = parseInt(action_attrs.creatable, 10); $action.parent().find('button.oe_dashboard_button_create').click(function() { if (isNaN(action_id)) { - action.flags.default_view = 'form'; + action_orig.flags.default_view = 'form'; self.do_action(action_orig); } else { self.rpc('/web/action/load', { From 3be4f1f4cbc05eb5d06c0b874eb0076799151081 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 13 Dec 2011 17:57:01 +0100 Subject: [PATCH 053/119] [IMP] Dashboard: moved 'Create' button in title of action bzr revid: fme@openerp.com-20111213165701-gu40tdic2s17rpxk --- addons/web_dashboard/static/src/css/dashboard.css | 5 +++++ addons/web_dashboard/static/src/xml/web_dashboard.xml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/web_dashboard/static/src/css/dashboard.css b/addons/web_dashboard/static/src/css/dashboard.css index 7ee47f4b88c..785de7d5b6b 100644 --- a/addons/web_dashboard/static/src/css/dashboard.css +++ b/addons/web_dashboard/static/src/css/dashboard.css @@ -39,6 +39,11 @@ padding-bottom: 2px; } +.openerp .oe_dashboard_button_create { + margin-left: 4px; + padding: 0 4px 0 4px; +} + .openerp a.oe-dashboard-action-rename { float: left; padding-right: 4px; diff --git a/addons/web_dashboard/static/src/xml/web_dashboard.xml b/addons/web_dashboard/static/src/xml/web_dashboard.xml index 5d05990c917..5f98df612d5 100644 --- a/addons/web_dashboard/static/src/xml/web_dashboard.xml +++ b/addons/web_dashboard/static/src/xml/web_dashboard.xml @@ -25,11 +25,11 @@

&nbsp; +

-
From 7099b809e70224b84ac7842ed30897e887298408 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 13 Dec 2011 17:11:44 +0100 Subject: [PATCH 054/119] [FIX] o2m uses weird class sets bzr revid: xmo@openerp.com-20111213161144-lwwr261r3ghs8wk4 --- addons/web/static/src/css/base.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 00e8e1f5e55..0fa3a44a4cd 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1108,7 +1108,8 @@ label.error { white-space: normal; } -.openerp .oe_form_field_one2many .oe-actions h3.oe_view_title { +.openerp .oe_form_field_one2many .oe-actions h3.oe_view_title, +.openerp .oe_form_field_one2many_list .oe-actions h3.oe_view_title{ display: inline; margin: 0 0.5em 0 0; } From 2a492cf3add2ef41dcd911feb4cb2c1af9049491 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 13 Dec 2011 17:27:30 +0100 Subject: [PATCH 055/119] [FIX] chs stupidity bzr revid: chs@openerp.com-20111213162730-w1p543ctjzpuf7f7 --- addons/web/static/src/xml/base.xml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index f42d173a5bc..0a245fe0f38 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -928,12 +928,7 @@ t-att-id="widget.element_id" t-attf-class="field_#{widget.type}" style="width: 100%" -<<<<<<< TREE - > - -======= - > ->>>>>>> MERGE-SOURCE + >
@@ -941,12 +936,7 @@ - >>>>>> MERGE-SOURCE + />
From ddd1ea5d5d8b1ce383bf2340a23bd47f25cf8f4b Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 13 Dec 2011 17:34:46 +0100 Subject: [PATCH 056/119] [IMP] allow modification of options of action of EmbedClient bzr revid: chs@openerp.com-20111213163446-h6sy1yti92mcgg1f --- addons/web/static/src/js/embed.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/embed.js b/addons/web/static/src/js/embed.js index ce6ad8b60f9..1c261060da8 100644 --- a/addons/web/static/src/js/embed.js +++ b/addons/web/static/src/js/embed.js @@ -20,9 +20,10 @@ openerp.web.embed = function(session) { session.web.EmbedClient = session.web.Widget.extend({ template: 'EmptyComponent', - init: function(action_id) { + init: function(action_id, options) { this._super(); this.action_id = action_id; + this.options = options || {}; this.am = new session.web.ActionManager(); }, @@ -39,7 +40,7 @@ openerp.web.embed = function(session) { action_buttons : false, sidebar : false //pager : false - }, action.flags || {}); + }, self.options, action.flags || {}); self.am.do_action(action); }); From e0ac8e3fa48125c416dcca09c123026fa9203778 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 13 Dec 2011 18:47:28 +0100 Subject: [PATCH 057/119] [IMP] refactor request handler bzr revid: chs@openerp.com-20111213174728-gslcxtuuf9y506b3 --- addons/web/common/http.py | 51 ++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index 81cded7d08b..9a9fb0293b9 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -146,11 +146,29 @@ class JsonRequest(WebRequest): assert self.jsonrequest.get('jsonrpc') == '2.0' self.init(self.jsonrequest.get("params", {})) response = {"jsonrpc": "2.0" } - return response - def _init_jsonp(self): + def build_response(response): + content = simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder) + return werkzeug.wrappers.Response( + content, headers=[('Content-Type', 'application/json'), + ('Content-Length', len(content))]) + + return response, build_response + + def _init_jsonp(self, callback): self.init(self.jsonrequest) - return {} + + def build_response(response): + content = "%s(%s);" % (\ + callback, + simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder), + ) + + return werkzeug.wrappers.Response( + content, headers=[('Content-Type', 'application/javascript'), + ('Content-Length', len(content))]) + + return {}, build_response def dispatch(self, controller, method): @@ -196,29 +214,9 @@ class JsonRequest(WebRequest): if self.jsonrequest.get('jsonrpc') == '2.0': - response = self._init_jsonrpc2() - - def build_response(response): - content = simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder) - return werkzeug.wrappers.Response( - content, headers=[('Content-Type', 'application/json'), - ('Content-Length', len(content))]) - - + response, build_response = self._init_jsonrpc2() elif jsonp_callback: - - response = self._init_jsonp() - - def build_response(response): - content = "%s(%s);" % (\ - jsonp_callback, - simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder), - ) - - return werkzeug.wrappers.Response( - content, headers=[('Content-Type', 'application/javascript'), - ('Content-Length', len(content))]) - + response, build_response = self._init_jsonp(jsonp_callback) else: return werkzeug.exceptions.BadRequest() @@ -439,9 +437,6 @@ class JSONP(Controller): @httprequest def post(self, req, request_id, params, callback): params = simplejson.loads(params, object_hook=nonliterals.non_literal_decoder) - params.update( - session_id=req.session.id, - ) params['session_id'] = req.session.id req.session.jsonp_requests[request_id] = { 'jsonp': callback, From 26f690fc5ea5dc4f5cbadcceb88b4dd64e8597bd Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 14 Dec 2011 10:29:33 +0100 Subject: [PATCH 058/119] [IMP] jsonp dispatch bzr revid: al@openerp.com-20111214092933-77vn7s5jxvi5i72f --- addons/web/common/http.py | 147 ++++++++++---------------------------- 1 file changed, 38 insertions(+), 109 deletions(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index 9a9fb0293b9..425e11ddce1 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -89,21 +89,11 @@ class WebRequest(object): self.config = config self.session = None - def init_session(self, session_id): - if self.session: - assert self.session.id == session_id - return - - self.session_id = session_id or uuid.uuid4().hex - self.session = self.httpsession.setdefault(self.session_id, session.OpenERPSession(self.session_id)) - self.session.config = self.config - def init(self, params): self.params = dict(params) - - # OpenERP session setup - session_id = self.params.pop("session_id", None) - self.init_session(session_id) + self.session_id = self.params.pop("session_id", None) or uuid.uuid4().hex + self.session = self.httpsession.setdefault(self.session_id, session.OpenERPSession(self.session_id)) + self.session.config = self.config self.context = self.params.pop('context', None) self.debug = self.params.pop('debug', False) != False @@ -140,37 +130,6 @@ class JsonRequest(WebRequest): "id": null} """ - - - def _init_jsonrpc2(self): - assert self.jsonrequest.get('jsonrpc') == '2.0' - self.init(self.jsonrequest.get("params", {})) - response = {"jsonrpc": "2.0" } - - def build_response(response): - content = simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder) - return werkzeug.wrappers.Response( - content, headers=[('Content-Type', 'application/json'), - ('Content-Length', len(content))]) - - return response, build_response - - def _init_jsonp(self, callback): - self.init(self.jsonrequest) - - def build_response(response): - content = "%s(%s);" % (\ - callback, - simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder), - ) - - return werkzeug.wrappers.Response( - content, headers=[('Content-Type', 'application/javascript'), - ('Content-Length', len(content))]) - - return {}, build_response - - def dispatch(self, controller, method): """ Calls the method asked for by the JSON-RPC2 or JSONP request @@ -179,54 +138,36 @@ class JsonRequest(WebRequest): :returns: an utf8 encoded JSON-RPC2 or JSONP reply """ + method = self.httprequest.method + args = self.httprequest.args + jsonp = args.get('jsonp', False) - requestf = self.httprequest.stream - direct_json_request = None - jsonp_callback = None - rid = None - if requestf: - direct_json_request = requestf.read() - - if not direct_json_request: - params = self.httprequest.args - direct_json_request = params.get('r') - jsonp_callback = params.get('callback') - - if direct_json_request: - try: - self.jsonrequest = simplejson.loads(direct_json_request, object_hook=nonliterals.non_literal_decoder) - except Exception, e: - _logger.exception(e) - return werkzeug.exceptions.BadRequest(e) + if jsonp and args.get('r'): + # jsonp method GET + requestf = StringIO.StringIO(args.get('r')) + elif jsonp and method == 'POST': + # jsonp 2 steps step1 POST: save call + self.init(args) + req.session.jsonp_requests[args.get('id')] = self.httprequest.form['r'] + headers=[('Content-Type', 'text/plain; charset=utf-8')] + r = werkzeug.wrappers.Response(request_id, headers=headers) + return r + elif args['jsonp'] and args.get('id'): + # jsonp 2 steps step2 GET: run and return result + self.init(args) + requestf = StringIO.StringIO(self.session.jsonp_requests.pop(args.get(id), "")) else: - # no direct json request, try to get it from jsonp POST request - params = self.httprequest.args - rid = params.get('rid') - session_id = params.get('sid') - if session_id: - self.init_session(session_id) - stored_request = self.session.jsonp_requests.pop(rid, {}) - else: - stored_request = {} - - jsonp_callback = stored_request.get('jsonp') - self.jsonrequest = stored_request.get('params', {}) - - - if self.jsonrequest.get('jsonrpc') == '2.0': - response, build_response = self._init_jsonrpc2() - elif jsonp_callback: - response, build_response = self._init_jsonp(jsonp_callback) - else: - return werkzeug.exceptions.BadRequest() + # regular jsonrpc2 + requestf = self.httprequest.stream + self.init(self.jsonrequest.get("params", {})) + response = {"jsonrpc": "2.0" } error = None - if not rid: - rid = self.jsonrequest.get('id') try: + self.jsonrequest = simplejson.loads(direct_json_request, object_hook=nonliterals.non_literal_decoder) + self.init(self.jsonrequest.get("params", {})) if _logger.isEnabledFor(logging.DEBUG): _logger.debug("[%s] --> %s.%s\n%s", rid, controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest)) - response['id'] = rid response["result"] = method(controller, self, **self.params) except openerplib.AuthenticationError: error = { @@ -249,8 +190,6 @@ class JsonRequest(WebRequest): } } except Exception: - logging.getLogger(__name__ + '.JSONRequest.dispatch').exception\ - ("An error occured while handling a json request") error = { 'code': 300, 'message': "OpenERP WebClient Error", @@ -262,11 +201,18 @@ class JsonRequest(WebRequest): if error: response["error"] = error _logger.error("[%s] <--\n%s", rid, pprint.pformat(response)) - elif _logger.isEnabledFor(logging.DEBUG): _logger.debug("[%s] <--\n%s", rid, pprint.pformat(response)) - return build_response(response) + if jsonp: + mime = 'application/javascript' + body = "%s(%s);" % (jsonp, simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder),) + else: + mime = 'application/json' + body = simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder) + + r = werkzeug.wrappers.Response(body, headers=[('Content-Type', mime), ('Content-Length', len(body))]) + return r def jsonrequest(f): """ Decorator marking the decorated method as being a handler for a @@ -430,29 +376,12 @@ class ControllerType(type): class Controller(object): __metaclass__ = ControllerType - -class JSONP(Controller): - _cp_path = '/web/jsonp' - - @httprequest - def post(self, req, request_id, params, callback): - params = simplejson.loads(params, object_hook=nonliterals.non_literal_decoder) - params['session_id'] = req.session.id - req.session.jsonp_requests[request_id] = { - 'jsonp': callback, - 'params': params, - 'id': request_id, - } - - headers=[('Content-Type', 'text/plain; charset=utf-8')] - response = werkzeug.wrappers.Response(request_id, headers=headers) - return response +class Proxy(Controller): + _cp_path = '/web/proxy' @jsonrequest - def static_proxy(self, req, path): + def load(self, req, path): #req.config.socket_port - - #if not re.match('^/[^/]+/static/.*', path): # return werkzeug.exceptions.BadRequest() From 2863869b60980e8dc9b1bf21676c2752f5fa5db4 Mon Sep 17 00:00:00 2001 From: "Atik Agewan (OpenERP)" Date: Wed, 14 Dec 2011 15:07:45 +0530 Subject: [PATCH 059/119] [IMP]: hr_recruitment:optimize code of yml bzr revid: aag@tinyerp.com-20111214093745-rmyqn9qhut07xfne --- addons/hr_recruitment/test/recruitment_process.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index d87f21c5f24..1bf0e24a650 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -38,12 +38,11 @@ self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')}) - I start communication with applicant, first schedule phonecall. -- - !record {model: hr.recruitment.job2phonecall, id: hr_recruitment_job2phonecall_id1 }: - !python {model: hr.recruitment.job2phonecall}: | context.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")}) - self.make_phonecall(cr, uid, [ref('hr_recruitment_job2phonecall_id1')], context=context) + id = self.create(cr, uid, {}, context=context) + self.make_phonecall(cr, uid, [id], context=context) - I schedule meeting with applicant for interview. - From 5cd5755495df46fbddf271d3664e38586c9b674c Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 14 Dec 2011 10:39:41 +0100 Subject: [PATCH 060/119] [IMP] jsonp dispatch fixes bzr revid: al@openerp.com-20111214093941-k5q77dh0gfavnsds --- addons/web/common/http.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index 425e11ddce1..da34b8a654e 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -2,6 +2,7 @@ #---------------------------------------------------------- # OpenERP Web HTTP layer #---------------------------------------------------------- +import StringIO import ast import contextlib import functools @@ -159,7 +160,6 @@ class JsonRequest(WebRequest): else: # regular jsonrpc2 requestf = self.httprequest.stream - self.init(self.jsonrequest.get("params", {})) response = {"jsonrpc": "2.0" } error = None From 228aed18bb62b35c26f3deee9a1041f472463e50 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 10:51:23 +0100 Subject: [PATCH 061/119] [IMP] Remove bottom pager from o2m bzr revid: fme@openerp.com-20111214095123-1dwn1yld44pndzpz --- addons/web/static/src/xml/base.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 1894d351e40..a2cc9e1725f 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -619,6 +619,9 @@ this.removeAttr('t-if'); + + + this.removeAttr('t-if'); var $title = $(document.createElement('h3')).addClass('oe_view_title'); From 139f4f85a0fd34b945584ab603f589a46196bb59 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 11:13:44 +0100 Subject: [PATCH 062/119] [IMP] Merge Advanced Filter button in select box and float it right bzr revid: fme@openerp.com-20111214101344-7jcltxvjd34no3q6 --- addons/web/static/src/css/base.css | 6 ++---- addons/web/static/src/js/search.js | 5 ++++- addons/web/static/src/xml/base.xml | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 0fa3a44a4cd..4badc4d4690 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -717,11 +717,9 @@ label.error { .openerp .oe_search-view-buttons { padding: 10px 0 10px 0; } -.openerp .oe_search-view-custom-filter-btn span { - background: url(/web/static/src/img/icons/gtk-add.png) repeat-y; - padding-left: 18px; +.openerp .oe_search-view-filters-management { + float: right; } - .openerp .searchview_extended_add_proposition span { font-size: 0.9em; background: url(/web/static/src/img/icons/gtk-add.png) repeat-y; diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index d1e4b161b39..9b485b457cd 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -155,6 +155,7 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search var ext = new openerp.web.search.ExtendedSearch(this, this.model); lines.push([ext]); this.inputs.push(ext); + this.extended_search = ext; var render = QWeb.render("SearchView", { 'view': data.fields_view['arch'], @@ -163,7 +164,6 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search }); this.$element.html(render); - this.$element.find(".oe_search-view-custom-filter-btn").click(ext.on_activate); var f = this.$element.find('form'); this.$element.find('form') @@ -199,6 +199,9 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search var select = this.$element.find(".oe_search-view-filters-management"); var val = select.val(); switch(val) { + case 'advanced_filter': + this.extended_search.on_activate(); + break; case 'add_to_dashboard': this.on_add_to_dashboard(); break; diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index a2cc9e1725f..09472e38657 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1151,7 +1151,6 @@
-
@@ -1165,6 +1164,7 @@
+ From 0a86b7abbf2060de08b09cb7b89df9b5a6adeb55 Mon Sep 17 00:00:00 2001 From: "Atik Agewan (OpenERP)" Date: Wed, 14 Dec 2011 15:47:28 +0530 Subject: [PATCH 063/119] [IMP]: hr_recruitment:optimize code of yml bzr revid: aag@tinyerp.com-20111214101728-pmxerksloz1972p9 --- addons/hr_recruitment/hr_recruitment.py | 1 - .../test/recruitment_process.yml | 18 +++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index baa5a761899..8594c565acb 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -365,7 +365,6 @@ class hr_applicant(crm.crm_case, osv.osv): self.write(cr, uid, [res_id], vals, context) return res_id - # Dead Code def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None): if isinstance(ids, (str, int, long)): ids = [ids] diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index 1bf0e24a650..c1ef5022209 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -20,7 +20,7 @@ assert applicant.state == "draft" assert len(resume_ids), "Resume does not attached." - - I Refuse applicant for the Recruitment. + I refuse applicant for the Recruitment. - !python {model: hr.applicant}: | self.case_close(cr, uid, [ref("hr_case_programmer")]) @@ -34,7 +34,6 @@ I assign the Job position to the applicant - !python {model: hr.applicant}: | - context.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")}) self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')}) - I start communication with applicant, first schedule phonecall. @@ -89,33 +88,30 @@ - !python {model: hr.applicant}: | self.case_close_with_emp(cr, uid, [ref('hr_case_programmer')]) - context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) - I check that applicant is "Hired". - !assert {model: hr.applicant, id: hr_case_programmer}: - state == 'done' - - I Not give Employeement to Hired Aplicant till. + I do not give employment to the hired the applicant. - !python {model: hired.employee}: | context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) emp_id = self.create(cr, uid, {}, context=context) self.case_close(cr, uid, [emp_id], context=context) - - Now I give Employeement to Hired Applicant . + Now I give employment to hired applicant . - !python {model: hr.applicant}: | + hired_emp_obj = self.pool.get('hired.employee') self.case_reset(cr, uid, [ref("hr_case_programmer")]) self.case_open(cr, uid, [ref("hr_case_programmer")]) context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) + emp_hr_id = hired_emp_obj.create(cr, uid, {}, context=context) + hired_emp_obj.case_close_with_emp(cr, uid, [emp_hr_id], context=context) - - !python {model: hired.employee}: | - context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")}) - emp_hr_id = self.create(cr, uid, {}, context=context) - self.case_close_with_emp(cr, uid, [emp_hr_id], context=context) -- - Now Hired Employee want to be a Partner of Company. + Now hired employee want to be a partner of company. - !record {model: hr.recruitment.partner.create, id: hr_recruitment_partner_id1 }: - From b1f0142a21fac3bb2df3adacb48eb13633883c81 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 11:43:01 +0100 Subject: [PATCH 064/119] [IMP] Hide secondary menu on home page client action bzr revid: fme@openerp.com-20111214104301-v1nxqqglhubpkdqc --- addons/web/static/src/js/chrome.js | 9 +++++++++ addons/web_dashboard/static/src/js/dashboard.js | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 4910d794876..8c8c3b5f7d6 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -916,6 +916,8 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{ if (!(this.folded && manual)) { this.do_show_secondary($sub_menu, $main_menu); + } else { + this.do_show_secondary(); } if ($main_menu != $clicked_menu) { @@ -941,8 +943,15 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{ } return false; }, + do_hide_secondary: function() { + this.$secondary_menu.hide(); + }, do_show_secondary: function($sub_menu, $main_menu) { var self = this; + this.$secondary_menu.show(); + if (!arguments.length) { + return; + } if (this.folded) { var css = $main_menu.position(), fold_width = this.$secondary_menu.width() + 2, diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index f5fa0387adb..b70217a1021 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -397,8 +397,8 @@ openerp.web_dashboard.ApplicationTiles = openerp.web.Widget.extend({ this._super(parent); }, start: function() { - // TODO menu hide var self = this; + openerp.webclient.menu.do_hide_secondary(); var domain = [['application','=',true], ['state','=','installed'], ['name', '!=', 'base']]; var ds = new openerp.web.DataSetSearch(this, 'ir.module.module',{},domain); ds.read_slice(['id'], {}, function(result) { From 337fd9d81e42615711facfaeda9001ee52446ba1 Mon Sep 17 00:00:00 2001 From: "Atik Agewan (OpenERP)" Date: Wed, 14 Dec 2011 16:56:47 +0530 Subject: [PATCH 065/119] [IMP]: hr_recruitment:remove changes of message_update bzr revid: aag@tinyerp.com-20111214112647-mv855r130x1om8zb --- addons/hr_recruitment/hr_recruitment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 8594c565acb..625b69a0b02 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -365,7 +365,7 @@ class hr_applicant(crm.crm_case, osv.osv): self.write(cr, uid, [res_id], vals, context) return res_id - def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None): + def message_update(self, cr, uid, ids, msg, vals=None, default_act='pending', context=None): if isinstance(ids, (str, int, long)): ids = [ids] if vals is None: From 4b1c8421286a5202ddfde7364eae7c58988fb7a4 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 12:28:14 +0100 Subject: [PATCH 066/119] [FIX] Dashboard: merge domain & context of board action to loaded action bzr revid: fme@openerp.com-20111214112814-18y45kct686ristw --- addons/web_dashboard/static/src/js/dashboard.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index b70217a1021..ce7e877b73f 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -149,10 +149,11 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({ view_mode = action_attrs.view_mode; if (action_attrs.context) { - action.context = action_attrs.context; + action.context = _.extend((action.context || {}), action_attrs.context); } if (action_attrs.domain) { - action.domain = action_attrs.domain; + action.domain = action.domain || []; + action.domain.unshift.apply(action.domain, action_attrs.domain); } var action_orig = _.extend({ flags : {} }, action); From 81214b16f6fc4edfc4445b59d47296dfac56ecf4 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Wed, 14 Dec 2011 18:13:14 +0530 Subject: [PATCH 067/119] [REM] project_issue: remove convert_issue_to_task and test_projest_issue_states. test cases of these files are moved into issue_process file. bzr revid: hmo@tinyerp.com-20111214124314-d72ydud9281pcmnw --- addons/project_issue/__openerp__.py | 2 - .../test/convert_issue_to_task.yml | 32 ----- .../test/test_project_issue_states.yml | 112 ------------------ 3 files changed, 146 deletions(-) delete mode 100644 addons/project_issue/test/convert_issue_to_task.yml delete mode 100644 addons/project_issue/test/test_project_issue_states.yml diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index f8480b96e15..cf37b955bd6 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -54,8 +54,6 @@ and decide on their status as they evolve. ], 'demo_xml': ['project_issue_demo.xml'], 'test': [ - #'test/convert_issue_to_task.yml', - #'test/test_project_issue_states.yml' 'test/subscribe_issue.yml', 'test/draft2open2close.yml', 'test/cancel_issue.yml', diff --git a/addons/project_issue/test/convert_issue_to_task.yml b/addons/project_issue/test/convert_issue_to_task.yml deleted file mode 100644 index 13ddef69251..00000000000 --- a/addons/project_issue/test/convert_issue_to_task.yml +++ /dev/null @@ -1,32 +0,0 @@ -- - Create an issue -- - !record {model: project.issue, id: project_issue_onchangeevent0}: - categ_id: project_issue.bug_categ - name: on_change event does not pass context to the method - project_id: project.project_project_22 - working_hours_close: 0.0 - working_hours_open: 0.0 - -- - Check there is no task attached to issue -- - !assert {model: project.issue, id: project_issue_onchangeevent0, string: There must not be any task attached to issue}: - - task_id.id == False - -- - Convert issue to task -- - !python {model: project.issue}: | - self.convert_issue_task(cr, uid, [ref("project_issue_onchangeevent0")], - {"lang": "en_US", "project_id": False, "tz": False, "active_model": "ir.ui.menu", - "department_id": False, "section_id": False, "search_default_project_id": - False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs": - 1, "active_ids": [ref("project_issue.menu_project_issue_track")], "active_id": - ref("project_issue.menu_project_issue_track"), }) - -- - Check there is a task attached to issue -- - !assert {model: project.issue, id: project_issue_onchangeevent0, string: After creating a task for the issue there must be a task attached to it}: - - task_id.id != False diff --git a/addons/project_issue/test/test_project_issue_states.yml b/addons/project_issue/test/test_project_issue_states.yml deleted file mode 100644 index ee48c9a9df0..00000000000 --- a/addons/project_issue/test/test_project_issue_states.yml +++ /dev/null @@ -1,112 +0,0 @@ -- - Create an issue -- - !record {model: project.issue, id: project_issue_stockmovedates0}: - categ_id: project_issue.bug_categ - name: Stock Move dates - project_id: project.project_project_22 - working_hours_close: 0.0 - working_hours_open: 0.0 -- - Check if issue in 'draft' state -- - !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in draft state}: - - state == 'draft' - -- - Open the issue -- - !python {model: project.issue}: | - self.case_open(cr, uid, [ref("project_issue_stockmovedates0")], {"lang": - "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], "tz": - False, "active_model": "ir.ui.menu", "search_default_project_id": False, "search_default_my_bugs": - 1, "search_default_user_id": 1, "search_default_current_bugs": 1, "project_id": - False, "active_id": ref("project_issue.menu_project_issue_track"), }) -- - Check if issue in 'open' state -- - !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in open state}: - - state == 'open' - -- - Keep issue pending -- - !python {model: project.issue}: | - self.case_pending(cr, uid, [ref("project_issue_stockmovedates0")], - {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], - "tz": False, "active_model": "ir.ui.menu", "search_default_project_id": - False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs": - 1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"), - }) -- - Check if issue in 'pending' state -- - !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in pending state}: - - state == 'pending' - - -- - Open the issue -- - !python {model: project.issue}: | - self.case_open(cr, uid, [ref("project_issue_stockmovedates0")], {"lang": - "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], "tz": - False, "active_model": "ir.ui.menu", "search_default_project_id": False, "search_default_my_bugs": - 1, "search_default_user_id": 1, "search_default_current_bugs": 1, "project_id": - False, "active_id": ref("project_issue.menu_project_issue_track"), }) -- - Check if issue in 'open' state -- - !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in open state}: - - state == 'open' - - -- - Cancel the issue -- - !python {model: project.issue}: | - self.case_cancel(cr, uid, [ref("project_issue_stockmovedates0")], - {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], - "tz": False, "active_model": "ir.ui.menu", "search_default_project_id": - False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs": - 1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"), - }) -- - Check if issue in 'cancel' state -- - !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in cancel state}: - - state == 'cancel' - - -- - Reset the issue -- - !python {model: project.issue}: | - self.case_reset(cr, uid, [ref("project_issue_stockmovedates0")], - {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], - "tz": False, "active_model": "ir.ui.menu", "search_default_project_id": - False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs": - 1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"), - }) -- - Check if issue in 'draft' state -- - !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in draft state}: - - state == 'draft' - - -- - Close the issue -- - !python {model: project.issue}: | - self.case_close(cr, uid, [ref("project_issue_stockmovedates0")], - {"lang": "en_US", "active_ids": [ref("project_issue.menu_project_issue_track")], - "tz": False, "active_model": "ir.ui.menu", "search_default_project_id": - False, "search_default_my_bugs": 1, "search_default_user_id": 1, "search_default_current_bugs": - 1, "project_id": False, "active_id": ref("project_issue.menu_project_issue_track"), - }) -- - Check if issue in 'done' state -- - !assert {model: project.issue, id: project_issue_stockmovedates0, severity: error, string: Issue is in done state}: - - state == 'done' From c79cd910d4c22add7e47f5b3909e268168a16283 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Wed, 14 Dec 2011 18:15:04 +0530 Subject: [PATCH 068/119] [REN] project_issue: rename yml file with issue_process. bzr revid: hmo@tinyerp.com-20111214124504-9nw5mr688hkpp3a2 --- addons/project_issue/__openerp__.py | 2 +- .../test/{draft2open2close.yml => issue_process.yml} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename addons/project_issue/test/{draft2open2close.yml => issue_process.yml} (100%) diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py index cf37b955bd6..012f9b5e799 100644 --- a/addons/project_issue/__openerp__.py +++ b/addons/project_issue/__openerp__.py @@ -55,7 +55,7 @@ and decide on their status as they evolve. 'demo_xml': ['project_issue_demo.xml'], 'test': [ 'test/subscribe_issue.yml', - 'test/draft2open2close.yml', + 'test/issue_process.yml', 'test/cancel_issue.yml', 'test/issue_demo.yml' ], diff --git a/addons/project_issue/test/draft2open2close.yml b/addons/project_issue/test/issue_process.yml similarity index 100% rename from addons/project_issue/test/draft2open2close.yml rename to addons/project_issue/test/issue_process.yml From 0043ed55a3756580f34daf5180515c40883f4cf5 Mon Sep 17 00:00:00 2001 From: "Harry (OpenERP)" Date: Wed, 14 Dec 2011 18:25:43 +0530 Subject: [PATCH 069/119] [FIX] project_issue: In yml, set email_from on compose mail to send reply to customer bzr revid: hmo@tinyerp.com-20111214125543-oeosngloik6biiu7 --- addons/project_issue/test/issue_process.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/project_issue/test/issue_process.yml b/addons/project_issue/test/issue_process.yml index 4614bed3997..d5900bb1b4f 100644 --- a/addons/project_issue/test/issue_process.yml +++ b/addons/project_issue/test/issue_process.yml @@ -26,7 +26,7 @@ ctx.update({'active_model': 'project.issue', 'active_id': ref("crm_case_buginaccountsmodule0"), 'active_ids': [ref("crm_case_buginaccountsmodule0")]}) vals = self.default_get(cr, uid , [], context=ctx) try: - new_id = self.create(cr, uid, {'email_to': 'Robert_Adersen@yahoo.com', 'subject': 'Regarding error in account module we nees more details'}) + new_id = self.create(cr, uid, {'email_from': 'support@mycompany.com','email_to': 'Robert_Adersen@yahoo.com', 'subject': 'Regarding error in account module we nees more details'}) self.send_mail(cr, uid, [new_id], context=ctx) except Exception, e: pass @@ -54,4 +54,4 @@ I Check state of Issue after closed. - !assert {model: project.issue, id: crm_case_buginaccountsmodule0, severity: error, string: Issue should be in done state}: - - state == 'done' \ No newline at end of file + - state == 'done' From 6da5e9245e5f680866e4bf64c92e653127dfbb55 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 14 Dec 2011 13:56:58 +0100 Subject: [PATCH 070/119] [IMP] Rename EmbedClient to EmbeddedClient and move it to chrome.js. [IMP] move the currentScript function to root namespace bzr revid: chs@openerp.com-20111214125658-huw4955d7zo2y37g --- addons/web/__openerp__.py | 1 - addons/web/static/src/js/boot.js | 2 +- addons/web/static/src/js/chrome.js | 42 +++++++++++++++++++++++++ addons/web/static/src/js/embed.js | 50 ------------------------------ 4 files changed, 43 insertions(+), 52 deletions(-) delete mode 100644 addons/web/static/src/js/embed.js diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 2beceba946b..74f4cdac3f7 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -53,7 +53,6 @@ "static/src/js/view_list_editable.js", "static/src/js/view_tree.js", "static/src/js/view_editor.js", - "static/src/js/embed.js", ], 'css' : [ "static/lib/jquery.superfish/css/superfish.css", diff --git a/addons/web/static/src/js/boot.js b/addons/web/static/src/js/boot.js index 14f50adb473..c2aea24276b 100644 --- a/addons/web/static/src/js/boot.js +++ b/addons/web/static/src/js/boot.js @@ -59,7 +59,7 @@ openerp.web = function(instance) { openerp.web.formats(instance); openerp.web.chrome(instance); openerp.web.data(instance); - var files = ["views","search","list","form", "page","list_editable","web_mobile","view_tree","data_export","data_import","view_editor","embed"]; + var files = ["views","search","list","form", "page","list_editable","web_mobile","view_tree","data_export","data_import","view_editor"]; for(var i=0; i Date: Wed, 14 Dec 2011 14:23:06 +0100 Subject: [PATCH 071/119] [FIX] Make Field boolean readonly inherit of form's view boolean Field bzr revid: fme@openerp.com-20111214132306-xtem0i3waxrucc4a --- addons/web/static/src/js/view_form.js | 28 ++++++++++++--------------- addons/web/static/src/js/view_page.js | 7 ++++--- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index fef32df4a90..5908dc67dc6 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -619,8 +619,8 @@ openerp.web.form.SidebarAttachments = openerp.web.Widget.extend({ var $e = $(e.target); if ($e.val() != '') { this.$element.find('form.oe-binary-form').submit(); - $e.parent().find('input[type=file]').attr('disabled', 'true'); - $e.parent().find('button').attr('disabled', 'true').find('img, span').toggle(); + $e.parent().find('input[type=file]').prop('disabled', true); + $e.parent().find('button').prop('disabled', true).find('img, span').toggle(); } }, on_attachment_delete: function(e) { @@ -1094,13 +1094,9 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ this.check_disable(); }, check_disable: function() { - if (this.readonly || this.force_disabled || !this.view.is_interactible_record()) { - this.$element.find("button").attr("disabled", "disabled"); - this.$element.find("button").css("color", "grey"); - } else { - this.$element.find("button").removeAttr("disabled"); - this.$element.find("button").css("color", ""); - } + var disabled = (this.readonly || this.force_disabled || !this.view.is_interactible_record()); + this.$element.find('button').prop('disabled', disabled); + this.$element.find("button").css('color', disabled ? 'grey' : ''); } }); @@ -1268,7 +1264,7 @@ openerp.web.form.FieldChar = openerp.web.form.Field.extend({ }, update_dom: function() { this._super.apply(this, arguments); - this.$element.find('input').attr('disabled', this.readonly); + this.$element.find('input').prop('disabled', this.readonly); }, set_value_from_ui: function() { this.value = openerp.web.parse_value(this.$element.find('input').val(), this); @@ -1392,7 +1388,7 @@ openerp.web.DateTimeWidget = openerp.web.Widget.extend({ }, set_readonly: function(readonly) { this.readonly = readonly; - this.$input.attr('disabled', this.readonly); + this.$input.prop('disabled', this.readonly); this.$element.find('img.oe_datepicker_trigger').toggleClass('oe_input_icon_disabled', readonly); }, is_valid: function(required) { @@ -1479,7 +1475,7 @@ openerp.web.form.FieldText = openerp.web.form.Field.extend({ }, update_dom: function() { this._super.apply(this, arguments); - this.$element.find('textarea').attr('disabled', this.readonly); + this.$element.find('textarea').prop('disabled', this.readonly); }, set_value_from_ui: function() { this.value = openerp.web.parse_value(this.$element.find('textarea').val(), this); @@ -1516,7 +1512,7 @@ openerp.web.form.FieldBoolean = openerp.web.form.Field.extend({ }, update_dom: function() { this._super.apply(this, arguments); - this.$element.find('input').attr('disabled', this.readonly); + this.$element.find('input').prop('disabled', this.readonly); }, focus: function() { this.$element.find('input').focus(); @@ -1599,7 +1595,7 @@ openerp.web.form.FieldSelection = openerp.web.form.Field.extend({ }, update_dom: function() { this._super.apply(this, arguments); - this.$element.find('select').attr('disabled', this.readonly); + this.$element.find('select').prop('disabled', this.readonly); }, validate: function() { var value = this.values[this.$element.find('select')[0].selectedIndex]; @@ -1948,7 +1944,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ }, update_dom: function() { this._super.apply(this, arguments); - this.$input.attr('disabled', this.readonly); + this.$input.prop('disabled', this.readonly); } }); @@ -2905,7 +2901,7 @@ openerp.web.form.FieldBinaryFile = openerp.web.form.FieldBinary.extend({ update_dom: function() { this._super.apply(this, arguments); this.$element.find('.oe-binary-file-set, .oe-binary-file-clear').toggle(!this.readonly); - this.$element.find('input[type=text]').attr('disabled', this.readonly); + this.$element.find('input[type=text]').prop('disabled', this.readonly); }, set_value: function(value) { this._super.apply(this, arguments); diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js index abcfb5131dd..40ca1176c79 100644 --- a/addons/web/static/src/js/view_page.js +++ b/addons/web/static/src/js/view_page.js @@ -102,9 +102,10 @@ openerp.web.page = function (openerp) { this._super(s[2]); } }); - openerp.web.page.FieldBooleanReadonly = openerp.web.page.FieldCharReadonly.extend({ - set_value: function (value) { - this._super(value ? '\u2611' : '\u2610'); + openerp.web.page.FieldBooleanReadonly = openerp.web.form.FieldBoolean.extend({ + update_dom: function() { + this._super.apply(this, arguments); + this.$element.find('input').prop('disabled', true); } }); openerp.web.page.FieldSelectionReadonly = openerp.web.page.FieldReadonly.extend({ From 0b314b259610290d3a2cc1fe9f8a1a24848c4139 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 14 Dec 2011 14:45:12 +0100 Subject: [PATCH 072/119] [IMP] add session.server as a global variable for qweb temlates bzr revid: chs@openerp.com-20111214134512-byuq129f02t3fk4s --- addons/web/static/src/js/core.js | 1 + addons/web/static/src/xml/base.xml | 60 +++++++++++++++--------------- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 7123fe2934b..e1591f46235 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -375,6 +375,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. } var hostname = _.str.sprintf('%s//%s', location.protocol, location.host); this.server = _.str.rtrim((!server) ? hostname : server, '/'); + openerp.web.qweb.default_dict['_s'] = this.server this.rpc_mode = (this.server == hostname) ? "oe-json" : "oe-jsonp"; this.session_id = false; this.uid = false; diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 0a245fe0f38..1894d351e40 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -266,7 +266,7 @@
- +
@@ -306,7 +306,7 @@ @@ -916,7 +916,7 @@ @@ -928,7 +928,7 @@ t-att-id="widget.element_id" t-attf-class="field_#{widget.type}" style="width: 100%" - > + >
@@ -936,7 +936,7 @@
@@ -956,9 +956,9 @@ - + - + @@ -1009,7 +1009,7 @@
- + Full featured
@@ -315,7 +315,7 @@
- + Open Source
@@ -324,7 +324,7 @@
- + User Friendly
@@ -352,13 +352,13 @@
  • - +
  • - +
  • - +
@@ -712,7 +712,7 @@ @@ -883,7 +883,7 @@ t-att-id="widget.element_id" t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}" style="width: 100%" - /> + />
- @@ -1039,14 +1039,14 @@
@@ -1074,7 +1074,7 @@ @@ -1083,13 +1083,13 @@ @@ -1097,7 +1097,7 @@ - + Uploading ... @@ -1106,7 +1106,7 @@ @@ -1199,7 +1199,7 @@ t-att-title="attrs.help" t-att-class="classes.join(' ')" t-att-autofocus="attrs.default_focus === '1' ? 'autofocus' : undefined"> - +
@@ -1346,7 +1346,7 @@ - + @@ -1689,7 +1689,7 @@ From 05af07ad0ed9023cab93d2d33877a6f99f858c05 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 15:17:29 +0100 Subject: [PATCH 073/119] [IMP] o2m: do not display viewmanager header when only one view defined bzr revid: fme@openerp.com-20111214141729-arebojkvaxajozlm --- addons/web/static/src/xml/base.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 09472e38657..fe5598ff6e9 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -483,6 +483,10 @@ + + + this.attr('t-if', 'views.length != 1'); + From e579d0fd712b40810be2c6d2951784d5d0b529de Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 14 Dec 2011 15:43:17 +0100 Subject: [PATCH 074/119] [FIX] don't display add/remove buttons in group_by_no_leaf views bzr revid: xmo@openerp.com-20111214144317-hfctv9rebwp5kvkp --- addons/web/static/src/js/view_list.js | 2 ++ addons/web/static/src/xml/base.xml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 059bc020682..bf423434ecc 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -79,6 +79,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# self.compute_aggregates(); }); + this.no_leaf = false; }, /** * Retrieves the view's number of records per page (|| section) @@ -473,6 +474,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# if (_.isEmpty(group_by) && !context['group_by_no_leaf']) { group_by = null; } + this.no_leaf = !!context['group_by_no_leaf']; this.reload_view(!!group_by, context).then( $.proxy(this, 'reload_content')); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index fe5598ff6e9..a880293403d 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -573,7 +573,7 @@

@@ -1573,7 +1573,7 @@

- +
- +
-
+ From 12014ea02c818f0d51facf91197b7e5efad9ab30 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 16:29:03 +0100 Subject: [PATCH 075/119] [IMP] Move flags to ViewManager level so it can be passed to its constructor bzr revid: fme@openerp.com-20111214152903-wpkbw0s45xkdpr2a --- addons/web/static/src/js/views.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 0ad49f69f7b..fcc8a4cc06c 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -200,7 +200,7 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View * @param dataset * @param views */ - init: function(parent, dataset, views) { + init: function(parent, dataset, views, flags) { this._super(parent); this.model = dataset ? dataset.model : undefined; this.dataset = dataset; @@ -208,7 +208,7 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View this.active_view = null; this.views_src = _.map(views, function(x) {return x instanceof Array? {view_id: x[0], view_type: x[1]} : x;}); this.views = {}; - this.flags = this.flags || {}; + this.flags = flags || {}; this.registry = session.web.views; this.views_history = []; }, @@ -415,19 +415,10 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner // dataset initialization will take the session from ``this``, so if we // do not have it yet (and we don't, because we've not called our own // ``_super()``) rpc requests will blow up. - this._super(parent, null, action.views); - this.session = parent.session; - this.action = action; - var dataset = new session.web.DataSetSearch(this, action.res_model, action.context, action.domain); - if (action.res_id) { - dataset.ids.push(action.res_id); - dataset.index = 0; - } - this.dataset = dataset; - this.flags = this.action.flags || {}; + var flags = action.flags || {}; if (action.res_model == 'board.board' && action.view_mode === 'form') { // Special case for Dashboards - _.extend(this.flags, { + _.extend(flags, { views_switcher : false, display_title : false, search_view : false, @@ -436,6 +427,15 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner action_buttons : false }); } + this._super(parent, null, action.views, flags); + this.session = parent.session; + this.action = action; + var dataset = new session.web.DataSetSearch(this, action.res_model, action.context, action.domain); + if (action.res_id) { + dataset.ids.push(action.res_id); + dataset.index = 0; + } + this.dataset = dataset; // setup storage for session-wise menu hiding if (this.session.hidden_menutips) { From 6c2d28cadb56e66df913811d0e396beea37b5697 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 16:54:41 +0100 Subject: [PATCH 076/119] [IMP] o2m: do not display action buttons in views used by one2many bzr revid: fme@openerp.com-20111214155441-gnb0yqjxyq0uklfa --- addons/web/static/src/js/view_form.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 5908dc67dc6..0ac70e64a67 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2055,7 +2055,9 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({ }); this.views = views; - this.viewmanager = new openerp.web.ViewManager(this, this.dataset, views); + this.viewmanager = new openerp.web.ViewManager(this, this.dataset, views, { + action_buttons : false + }); this.viewmanager.template = 'One2Many.viewmanager'; this.viewmanager.registry = openerp.web.views.clone({ list: 'openerp.web.form.One2ManyListView', @@ -2083,7 +2085,6 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({ controller.on_pager_action.add_first(function() { self.save_any_view(); }); - controller.$element.find(".oe_form_button_save").hide(); } else if (view_type == "graph") { self.reload_current_view() } From b53ee6fe2074fbbd7dc6932554631a5b3fbec185 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 14 Dec 2011 17:09:58 +0100 Subject: [PATCH 077/119] [WIP] better url management, only views are allowed to call this.do_push_state bzr revid: chs@openerp.com-20111214160958-xrtdubgh6jqn3mq3 --- addons/web/static/src/js/chrome.js | 10 ++----- addons/web/static/src/js/view_form.js | 3 ++ addons/web/static/src/js/views.js | 43 ++++++++++++++------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 8c8c3b5f7d6..4b41d3adc54 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1061,7 +1061,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie if(this.action_manager) this.action_manager.stop(); this.action_manager = new openerp.web.ActionManager(this); - this.action_manager.do_push_state.add(this.do_push_state); this.action_manager.appendTo($("#oe_app")); if (openerp._modules_loaded) { // TODO: find better option than this @@ -1076,7 +1075,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie }, on_logged_out: function() { $(window).unbind('hashchange', this.on_hashchange); - this.do_push_state({},true); + this.do_push_state({}); if(this.action_manager) this.action_manager.stop(); this.action_manager = null; @@ -1098,11 +1097,8 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie } this._current_state = state; }, - do_push_state: function(state, overwrite) { - if (!overwrite) { - var hash = $.deparam.fragment(true); - state = _.extend({}, hash, state); - } + do_push_state: function(state) { + console.log('dopushstate', state); var url = '#' + $.param(state); this._current_state = _.clone(state); $.bbq.pushState(url); diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 0ac70e64a67..b961b0089e3 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -175,6 +175,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (self.default_focus_field && !self.embedded_view) { self.default_focus_field.focus(); } + if (record.id) { + self.do_push_state({id:record.id}); + } }); }, on_form_changed: function() { diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index fcc8a4cc06c..af0f0f47aba 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -20,6 +20,7 @@ session.web.ActionManager = session.web.Widget.extend({ identifier_prefix: "actionmanager", init: function(parent) { this._super(parent); + this.action = null; this.inner_viewmanager = null; this.dialog = null; this.dialog_viewmanager = null; @@ -47,7 +48,15 @@ session.web.ActionManager = session.web.Widget.extend({ } }, - do_push_state: function(state, overwrite) { + do_push_state: function(state) { + if (this.wiget_parent && this.widget_parent.do_push_state) { + if (this.action.id) { + state = _.extend({}, state || {}, { + action_id: this.action.id, + }); + } + this.widget_parent.do_push_state(state); + } }, do_load_state: function(state) { @@ -95,6 +104,7 @@ session.web.ActionManager = session.web.Widget.extend({ console.error("Action manager can't handle action of type " + action.type, action); return; } + this.action = action; return this[type](action, on_close); }, null_action: function() { @@ -128,10 +138,6 @@ session.web.ActionManager = session.web.Widget.extend({ this.content_stop(); this.inner_action = action; this.inner_viewmanager = new session.web.ViewManagerAction(this, action); - this.inner_viewmanager.do_push_state.add(function(state,overwrite) { - state['action_id'] = action.id; - self.do_push_state(state,true); - }); this.inner_viewmanager.appendTo(this.$element); } }, @@ -154,10 +160,6 @@ session.web.ActionManager = session.web.Widget.extend({ this.content_stop(); var ClientWidget = session.web.client_actions.get_object(action.tag); (this.client_widget = new ClientWidget(this, action.params)).appendTo(this); - - var client_action = {tag: action.tag}; - if (action.params) _.extend(client_action, {params: action.params}); - this.do_push_state({client_action: client_action}, true); }, ir_actions_report_xml: function(action, on_closed) { var self = this; @@ -466,12 +468,6 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner var main_view_loaded = this._super(); - _.each(_.keys(this.views), function(view_type) { - $.when(self.views[view_type].deferred).done(function(view_type) { - self.views[view_type].controller.do_push_state.add(self.do_push_state); - }); - }); - var manager_ready = $.when(searchview_loaded, main_view_loaded); this.$element.find('.oe_debug_view').change(this.on_debug_changed); @@ -584,12 +580,16 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner } else { $search_prefix.remove(); } - - self.do_push_state({view_type: self.active_view}); }); }, - do_push_state: function(state, overwrite) { + do_push_state: function(state) { + if (this.wiget_parent && this.widget_parent.do_push_state) { + state = _.extend({}, state || {}, { + view_type: this.active_view + }); + this.widget_parent.do_push_state(state); + } }, do_load_state: function(state) { @@ -1146,11 +1146,12 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{ return $.Deferred().resolve({}).promise(); }, - do_push_state: function(state, overwrite) { + do_push_state: function(state) { + if (this.wiget_parent && this.widget_parent.do_push_state) { + this.widget_parent.do_push_state(state); + } }, - do_load_state: function(state) { - } }); session.web.json_node_to_xml = function(node, human_readable, indent) { From f6b2fc59e98fe31ebf6ee352a180b026a44d0d53 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 14 Dec 2011 18:03:56 +0100 Subject: [PATCH 078/119] [imp] now closes dialogs when using client actions bzr revid: nicolas.vanhoren@openerp.com-20111214170356-sljdibj73yy0maeu --- addons/web/static/src/js/chrome.js | 2 +- addons/web/static/src/js/data.js | 2 +- addons/web/static/src/js/views.js | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 8c8c3b5f7d6..41f1ac532c6 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -663,7 +663,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * self.$content.remove(); if (!self.session.uid) return; - var func = new openerp.web.Model(self.session, "res.users").get_func("read"); + var func = new openerp.web.Model("res.users").get_func("read"); return func(self.session.uid, ["name", "company_id"]).pipe(function(res) { self.$content = $(QWeb.render("Header-content", {widget: self, user: res})); self.$content.appendTo(self.$element); diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js index 26147b4d4e0..aec701e6e67 100644 --- a/addons/web/static/src/js/data.js +++ b/addons/web/static/src/js/data.js @@ -811,7 +811,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({ }); openerp.web.Model = openerp.web.CallbackEnabled.extend({ - init: function(_, model_name) { + init: function(model_name) { this._super(); this.model_name = model_name; }, diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index fcc8a4cc06c..116d7da3aef 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -152,6 +152,7 @@ session.web.ActionManager = session.web.Widget.extend({ }, ir_actions_client: function (action) { this.content_stop(); + this.dialog_stop(); var ClientWidget = session.web.client_actions.get_object(action.tag); (this.client_widget = new ClientWidget(this, action.params)).appendTo(this); From 1db085976809c6fd9276c80724712967ed2dc99e Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 14 Dec 2011 18:18:11 +0100 Subject: [PATCH 079/119] [IMP] factorise View.do_show do_hide bzr revid: al@openerp.com-20111214171811-6l9jqafkr8k9grut --- addons/web/static/src/js/view_form.js | 4 ++-- addons/web/static/src/js/view_list.js | 4 ++-- addons/web/static/src/js/views.js | 15 ++++++++++----- addons/web_calendar/static/src/js/calendar.js | 2 +- addons/web_diagram/static/src/js/diagram.js | 8 -------- addons/web_gantt/static/src/js/gantt.js | 8 -------- addons/web_graph/static/src/js/graph.js | 6 ------ addons/web_kanban/static/src/js/kanban.js | 6 ------ 8 files changed, 15 insertions(+), 38 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 0ac70e64a67..79732296816 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -125,14 +125,14 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# } else { promise = this.dataset.read_index(_.keys(this.fields_view.fields)).pipe(this.on_record_loaded); } - this.$element.show(); + this._super(); if (this.sidebar) { this.sidebar.$element.show(); } return promise; }, do_hide: function () { - this.$element.hide(); + this._super(); if (this.sidebar) { this.sidebar.$element.hide(); } diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index bf423434ecc..ad253586591 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -402,13 +402,13 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# }, this)); }, do_show: function () { - this.$element.show(); + this._super(); if (this.sidebar) { this.sidebar.$element.show(); } }, do_hide: function () { - this.$element.hide(); + this._super(); if (this.sidebar) { this.sidebar.$element.hide(); } diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 116d7da3aef..30b3cff6c96 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1065,19 +1065,26 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{ this.embedded_view = embedded_view; this.options.sidebar = false; }, + do_show: function () { + this.$element.show(); + }, + do_hide: function () { + this.$element.hide(); + }, /** * Switches to a specific view type * * @param {String} view view type to switch to */ - do_switch_view: function(view) { }, + do_switch_view: function(view) { + }, /** * Cancels the switch to the current view, switches to the previous one */ - do_prev_view: function () { }, + do_prev_view: function () { + }, do_search: function(view) { }, - set_common_sidebar_sections: function(sidebar) { sidebar.add_default_sections(); }, @@ -1146,10 +1153,8 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{ sidebar_context: function () { return $.Deferred().resolve({}).promise(); }, - do_push_state: function(state, overwrite) { }, - do_load_state: function(state) { } }); diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index aac3dcb4f3b..1e253fc8f44 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -394,7 +394,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({ }); }, do_hide: function () { - this.$element.hide(); + this._super(); if (this.sidebar) { this.sidebar.$element.hide(); } diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index 08617efd073..7c2619cd5b9 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -298,14 +298,6 @@ openerp.web.DiagramView = openerp.web.View.extend({ } $pager.find('span.oe_pager_index').html(index); $pager.find('span.oe_pager_count').html(this.dataset.count); - }, - - do_show: function () { - this.$element.show(); - }, - - do_hide: function () { - this.$element.hide(); } }); }; diff --git a/addons/web_gantt/static/src/js/gantt.js b/addons/web_gantt/static/src/js/gantt.js index 71dba5da093..ccf2ac07bfb 100644 --- a/addons/web_gantt/static/src/js/gantt.js +++ b/addons/web_gantt/static/src/js/gantt.js @@ -459,14 +459,6 @@ openerp.web_gantt.GanttView = openerp.web.View.extend({ } }, - do_show: function () { - this.$element.show(); - }, - - do_hide: function () { - this.$element.hide(); - }, - convert_str_date: function (str) { if (typeof str == 'string') { if (str.length == 19) { diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index 6cf9998fdda..acab0b73f5e 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -37,12 +37,6 @@ openerp.web_graph.GraphView = openerp.web.View.extend({ } this._super(); }, - do_show: function () { - this.$element.show(); - }, - do_hide: function () { - this.$element.hide(); - }, start: function() { var self = this; this._super(); diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 7299a3ae63d..9f86d4d3383 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -258,12 +258,6 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({ }); } }, - do_show: function () { - this.$element.show(); - }, - do_hide: function () { - this.$element.hide(); - }, compute_groups_width: function() { var unfolded = 0; _.each(this.groups, function(group) { From ef954a8a957bddafbf7eb67418a4300892f88997 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Dec 2011 18:29:52 +0100 Subject: [PATCH 080/119] [ADD] ListView: Added pencil icon linking to form view bzr revid: fme@openerp.com-20111214172952-xp4c6h6fccbyzt8r --- addons/web/static/src/css/base.css | 6 ++++- addons/web/static/src/img/pencil.gif | Bin 0 -> 129 bytes addons/web/static/src/js/view_list.js | 25 ++++++++++++------ .../web/static/src/js/view_list_editable.js | 7 +++-- addons/web/static/src/xml/base.xml | 8 +++++- 5 files changed, 34 insertions(+), 12 deletions(-) create mode 100644 addons/web/static/src/img/pencil.gif diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 04fff6c9375..4bc0575a797 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -822,9 +822,12 @@ label.error { border-bottom: 1px solid #E3E3E3; } -.openerp .oe-listview .oe-record-selector { +.openerp .oe-listview .oe-record-selector, .openerp .oe-listview .oe-record-edit-link { border-bottom: 1px solid #E3E3E3; } +.openerp .oe-listview .oe-record-edit-link { + cursor: pointer; +} .openerp .oe-listview .oe-field-cell { cursor: pointer; @@ -1193,6 +1196,7 @@ label.error { } .openerp .oe_datepicker_root { display: inline-block; + width: 100%; } .openerp .oe_forms.oe_frame .oe_datepicker_root { width: 100%; diff --git a/addons/web/static/src/img/pencil.gif b/addons/web/static/src/img/pencil.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e9aa5ef6599bb02e966d34994cc9f42a126ea5f GIT binary patch literal 129 zcmZ?wbhEHb'); } + if (this.options.edit_link) { + cells.push(''); + } _(this.columns).each(function(column) { if (column.invisible === '1') { return; diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index b2edf55b314..50a3028d837 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -116,7 +116,7 @@ openerp.web.list_editable = function (openerp) { openerp.web.ListView.List.include(/** @lends openerp.web.ListView.List# */{ row_clicked: function (event) { if (!this.options.editable) { - return this._super(event); + return this._super.apply(this, arguments); } this.edit_record($(event.currentTarget).data('id')); }, @@ -248,7 +248,10 @@ openerp.web.list_editable = function (openerp) { .end() .find('td:last').removeClass('oe-field-cell').end(); if (self.options.selectable) { - $new_row.prepend(''); + $new_row.prepend(''); + } + if (self.options.edit_link) { + $new_row.prepend(''); } // pad in case of groupby _(self.columns).each(function (column) { diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index cf517fef490..503e6ac3318 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -567,7 +567,7 @@
- + + @@ -666,6 +668,9 @@ +
@@ -596,6 +596,7 @@ @@ -609,6 +610,7 @@
+ + + + From cb4dbede99065b6e0bfa10163ce51579d77ec2e3 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 14 Dec 2011 19:04:42 +0100 Subject: [PATCH 081/119] [FIX] working urls bzr revid: al@openerp.com-20111214180442-gd1j369la1kss2wj --- addons/web/static/src/js/chrome.js | 1 - addons/web/static/src/js/view_form.js | 2 +- addons/web/static/src/js/views.js | 39 ++++++++++++--------------- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index e4bbf5f2503..0d0454c08e4 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1098,7 +1098,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie this._current_state = state; }, do_push_state: function(state) { - console.log('dopushstate', state); var url = '#' + $.param(state); this._current_state = _.clone(state); $.bbq.pushState(url); diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 502778d0f28..eb5a310e154 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -125,7 +125,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# } else { promise = this.dataset.read_index(_.keys(this.fields_view.fields)).pipe(this.on_record_loaded); } - this._super(); + this.$element.show(); if (this.sidebar) { this.sidebar.$element.show(); } diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index e29d7761196..f97a09dee94 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -20,7 +20,7 @@ session.web.ActionManager = session.web.Widget.extend({ identifier_prefix: "actionmanager", init: function(parent) { this._super(parent); - this.action = null; + this.inner_action = null; this.inner_viewmanager = null; this.dialog = null; this.dialog_viewmanager = null; @@ -47,18 +47,14 @@ session.web.ActionManager = session.web.Widget.extend({ this.client_widget = null; } }, - do_push_state: function(state) { - if (this.wiget_parent && this.widget_parent.do_push_state) { - if (this.action.id) { - state = _.extend({}, state || {}, { - action_id: this.action.id, - }); + if (this.widget_parent && this.widget_parent.do_push_state) { + if (this.inner_action && this.inner_action.id) { + state['action_id'] = this.inner_action.id; } this.widget_parent.do_push_state(state); } }, - do_load_state: function(state) { if (state.action_id) { this.null_action(); @@ -78,7 +74,6 @@ session.web.ActionManager = session.web.Widget.extend({ this.inner_viewmanager.do_load_state(state); } }, - do_action: function(action, on_close) { if (_.isNumber(action)) { var self = this; @@ -104,7 +99,6 @@ session.web.ActionManager = session.web.Widget.extend({ console.error("Action manager can't handle action of type " + action.type, action); return; } - this.action = action; return this[type](action, on_close); }, null_action: function() { @@ -317,8 +311,6 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View }); return view_promise; }, - - /** * Returns to the view preceding the caller view in this manager's * navigation history (the navigation history is appended to via @@ -394,7 +386,8 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View /** * Called by children view after executing an action */ - on_action_executed: function () {}, + on_action_executed: function () { + }, display_title: function () { var view = this.views[this.active_view]; if (view) { @@ -583,23 +576,18 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner } }); }, - do_push_state: function(state) { - if (this.wiget_parent && this.widget_parent.do_push_state) { - state = _.extend({}, state || {}, { - view_type: this.active_view - }); + if (this.widget_parent && this.widget_parent.do_push_state) { + state["view_type"] = this.active_view; this.widget_parent.do_push_state(state); } }, - do_load_state: function(state) { var self = this; $.when(this.on_mode_switch(state.view_type, true)).done(function() { self.views[self.active_view].controller.do_load_state(state); }); }, - shortcut_check : function(view) { var self = this; var grandparent = this.widget_parent && this.widget_parent.widget_parent; @@ -1067,10 +1055,18 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{ }, do_show: function () { this.$element.show(); + this.do_push_state({}); }, do_hide: function () { this.$element.hide(); }, + do_push_state: function(state) { + if (this.widget_parent && this.widget_parent.do_push_state) { + this.widget_parent.do_push_state(state); + } + }, + do_load_state: function(state) { + }, /** * Switches to a specific view type * @@ -1152,8 +1148,7 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{ }, sidebar_context: function () { return $.Deferred().resolve({}).promise(); - }, - }, + } }); session.web.json_node_to_xml = function(node, human_readable, indent) { From 3ffb9b81345ae34607fa7d56618e4ef4b0221054 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 14 Dec 2011 19:35:12 +0100 Subject: [PATCH 082/119] [IMP] module kanban bzr revid: al@openerp.com-20111214183512-pchd9e7b8h39h1an --- openerp/addons/base/module/module_view.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml index 8801af1664a..6a1ddefb16d 100644 --- a/openerp/addons/base/module/module_view.xml +++ b/openerp/addons/base/module/module_view.xml @@ -41,8 +41,8 @@ - - + + @@ -78,6 +78,7 @@


+
Complex

@@ -196,6 +197,7 @@ form kanban,tree,form ['!', ('category_id.parent_id','child_of','Hidden')] + {'search_default_app':1} You can install new modules in order to activate new features, menu, reports or data in your OpenERP instance. To install some modules, click on the button "Install" from the form view and then click on "Start Upgrade". From 51d4bf610600958b3adca7c38f8666dc89c6c48a Mon Sep 17 00:00:00 2001 From: "Naresh (OpenERP)" Date: Thu, 15 Dec 2011 12:50:38 +0530 Subject: [PATCH 083/119] [IMP]:removed salesman assigned to demo data partners lp bug: https://launchpad.net/bugs/904150 fixed bzr revid: nch@tinyerp.com-20111215072038-0z4qjsaw2gjbzerq --- openerp/addons/base/res/res_partner_demo.xml | 25 -------------------- 1 file changed, 25 deletions(-) diff --git a/openerp/addons/base/res/res_partner_demo.xml b/openerp/addons/base/res/res_partner_demo.xml index d3c4db106f9..5652560002e 100644 --- a/openerp/addons/base/res/res_partner_demo.xml +++ b/openerp/addons/base/res/res_partner_demo.xml @@ -99,7 +99,6 @@ Agrolait - www.agrolait.com @@ -107,7 +106,6 @@ Camptocamp 1 - www.camptocamp.com @@ -116,11 +114,9 @@ Syleam - Thymbra - www.thymbra.com/ @@ -129,26 +125,22 @@ 1 - www.axelor.com/ Tiny AT Work - www.tinyatwork.com/ Bank Wealthy and sons - www.wealthyandsons.com/ China Export - www.chinaexport.com/ @@ -163,12 +155,10 @@ Ecole de Commerce de Liege - www.eci-liege.info// Elec Import - 1 @@ -177,7 +167,6 @@ Maxtor - 1 @@ -186,7 +175,6 @@ Seagate - 1 @@ -194,7 +182,6 @@ http://mediapole.net Mediapole SPRL - @@ -203,7 +190,6 @@ BalmerInc S.A. or - @@ -212,12 +198,10 @@ 3020170000003 - Leclerc - @@ -228,14 +212,12 @@ - Magazin BML 1 3020178570171 - @@ -243,7 +225,6 @@ Université de Liège - http://www.ulg.ac.be/ @@ -253,7 +234,6 @@ - Dubois sprl http://www.dubois.be/ @@ -262,13 +242,11 @@ Eric Dubois - Fabien Dupont - @@ -279,7 +257,6 @@ NotSoTiny SARL - notsotiny.be @@ -287,7 +264,6 @@ The Shelve House - @@ -312,7 +288,6 @@ ZeroOne Inc - http://www.zerooneinc.com/ From fd96386cd4bf18f89f4b7adbf9daca62827a812d Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:06:52 +0100 Subject: [PATCH 084/119] [FIX] translatability of addition button label in listview * Original label is evaluated very early (before translation database is loaded), defer its execution * Replacement 'add' label in m2m list views wasn't marked for translation * Also mark a few strings in form view lp bug: https://launchpad.net/bugs/903963 fixed bzr revid: xmo@openerp.com-20111215100652-8iujastl6bvi7feu --- addons/web/static/src/js/view_form.js | 8 ++++---- addons/web/static/src/js/view_list.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index eb5a310e154..c37256fa1dd 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -140,7 +140,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# on_record_loaded: function(record) { var self = this, set_values = []; if (!record) { - throw("Form: No record received"); + throw new Error("Form: No record received"); } this.datarecord = record; @@ -629,7 +629,7 @@ openerp.web.form.SidebarAttachments = openerp.web.Widget.extend({ on_attachment_delete: function(e) { var self = this, $e = $(e.currentTarget); var name = _.str.trim($e.parent().find('a.oe-sidebar-attachments-link').text()); - if (confirm("Do you really want to delete the attachment " + name + " ?")) { + if (confirm(_.sprintf(_t("Do you really want to delete the attachment %s?"), name))) { this.rpc('/web/dataset/unlink', { model: 'ir.attachment', ids: [parseInt($e.attr('data-id'))] @@ -1051,7 +1051,7 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ if (self.node.attrs.confirm) { var def = $.Deferred(); var dialog = $('
' + self.node.attrs.confirm + '
').dialog({ - title: 'Confirm', + title: _t('Confirm'), modal: true, buttons: { Ok: function() { @@ -2374,7 +2374,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({ load_view: function() { var self = this; this.list_view = new openerp.web.form.Many2ManyListView(this, this.dataset, false, { - 'addable': self.is_readonly() ? null : 'Add', + 'addable': self.is_readonly() ? null : _t("Add"), 'deletable': self.is_readonly() ? false : true, 'selectable': self.multi_selection }); diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index ad253586591..36dc71cc485 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -12,7 +12,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# // whether the column headers should be displayed 'header': true, // display addition button, with that label - 'addable': _t("Create"), + 'addable': {toString: function () { return _t("Create"); }}, // whether the list view can be sorted, note that once a view has been // sorted it can not be reordered anymore 'sortable': true, From 028f9cc9842f07c9b33337332051b7e2b31f9d22 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:06:52 +0100 Subject: [PATCH 085/119] [FIX] translatability of addition button label in listview * Original label is evaluated very early (before translation database is loaded), defer its execution * Replacement 'add' label in m2m list views wasn't marked for translation * Also mark a few strings in form view lp bug: https://launchpad.net/bugs/903963 fixed bzr revid: xmo@openerp.com-20111215100652-ibgqod7ikwiz85ic --- addons/web/static/src/js/view_form.js | 8 ++++---- addons/web/static/src/js/view_list.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 502778d0f28..83f6768f292 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -140,7 +140,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# on_record_loaded: function(record) { var self = this, set_values = []; if (!record) { - throw("Form: No record received"); + throw new Error("Form: No record received"); } this.datarecord = record; @@ -629,7 +629,7 @@ openerp.web.form.SidebarAttachments = openerp.web.Widget.extend({ on_attachment_delete: function(e) { var self = this, $e = $(e.currentTarget); var name = _.str.trim($e.parent().find('a.oe-sidebar-attachments-link').text()); - if (confirm("Do you really want to delete the attachment " + name + " ?")) { + if (confirm(_.sprintf(_t("Do you really want to delete the attachment %s?"), name))) { this.rpc('/web/dataset/unlink', { model: 'ir.attachment', ids: [parseInt($e.attr('data-id'))] @@ -1051,7 +1051,7 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ if (self.node.attrs.confirm) { var def = $.Deferred(); var dialog = $('
' + self.node.attrs.confirm + '
').dialog({ - title: 'Confirm', + title: _t('Confirm'), modal: true, buttons: { Ok: function() { @@ -2374,7 +2374,7 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({ load_view: function() { var self = this; this.list_view = new openerp.web.form.Many2ManyListView(this, this.dataset, false, { - 'addable': self.is_readonly() ? null : 'Add', + 'addable': self.is_readonly() ? null : _t("Add"), 'deletable': self.is_readonly() ? false : true, 'selectable': self.multi_selection }); diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index ad253586591..36dc71cc485 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -12,7 +12,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# // whether the column headers should be displayed 'header': true, // display addition button, with that label - 'addable': _t("Create"), + 'addable': {toString: function () { return _t("Create"); }}, // whether the list view can be sorted, note that once a view has been // sorted it can not be reordered anymore 'sortable': true, From a44dd489d0c8e542af095dd1feb133a397ff5bbc Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:08:27 +0100 Subject: [PATCH 086/119] [TNL] updated translation template files bzr revid: xmo@openerp.com-20111215100827-01nokry6vxbw3swh --- addons/web/po/web.pot | 202 +++++++++++++--------- addons/web_calendar/po/web_calendar.pot | 6 +- addons/web_chat/po/web_chat.pot | 2 +- addons/web_dashboard/po/web_dashboard.pot | 2 +- addons/web_diagram/po/web_diagram.pot | 2 +- addons/web_gantt/po/web_gantt.pot | 2 +- addons/web_graph/po/web_graph.pot | 2 +- addons/web_hello/po/web_hello.pot | 2 +- addons/web_mobile/po/web_mobile.pot | 2 +- addons/web_rpc/po/web_rpc.pot | 2 +- 10 files changed, 127 insertions(+), 97 deletions(-) diff --git a/addons/web/po/web.pot b/addons/web/po/web.pot index 9f8390e71e8..286d75ebe1a 100644 --- a/addons/web/po/web.pot +++ b/addons/web/po/web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,8 +18,8 @@ msgstr "" "Generated-By: Babel 0.9.6\n" #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "" @@ -31,115 +31,115 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 addons/web/static/src/xml/base.xml:0 msgid "Cancel" msgstr "" -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" @@ -151,41 +151,55 @@ msgstr "" msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_form.js:386 msgid "Warning, the record has been modified, your changes will be discarded." msgstr "" -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:594 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:632 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1054 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "" -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "" -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "" + +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -193,80 +207,80 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 msgid "Save" msgstr "" @@ -481,11 +495,31 @@ msgid "Disable all tips" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -540,10 +574,6 @@ msgstr "" msgid "Duplicate" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" diff --git a/addons/web_calendar/po/web_calendar.pot b/addons/web_calendar/po/web_calendar.pot index f92c598a0bf..702a7975524 100644 --- a/addons/web_calendar/po/web_calendar.pot +++ b/addons/web_calendar/po/web_calendar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_chat/po/web_chat.pot b/addons/web_chat/po/web_chat.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_chat/po/web_chat.pot +++ b/addons/web_chat/po/web_chat.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_dashboard/po/web_dashboard.pot b/addons/web_dashboard/po/web_dashboard.pot index 201c979a547..a1a3c1d5e9a 100644 --- a/addons/web_dashboard/po/web_dashboard.pot +++ b/addons/web_dashboard/po/web_dashboard.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_diagram/po/web_diagram.pot b/addons/web_diagram/po/web_diagram.pot index 91d96431684..8a4e5029a26 100644 --- a/addons/web_diagram/po/web_diagram.pot +++ b/addons/web_diagram/po/web_diagram.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_gantt/po/web_gantt.pot b/addons/web_gantt/po/web_gantt.pot index 9c91dda7f30..b89e5c3d878 100644 --- a/addons/web_gantt/po/web_gantt.pot +++ b/addons/web_gantt/po/web_gantt.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_graph/po/web_graph.pot b/addons/web_graph/po/web_graph.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_graph/po/web_graph.pot +++ b/addons/web_graph/po/web_graph.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_hello/po/web_hello.pot b/addons/web_hello/po/web_hello.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_hello/po/web_hello.pot +++ b/addons/web_hello/po/web_hello.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_mobile/po/web_mobile.pot b/addons/web_mobile/po/web_mobile.pot index 6667eeb8d27..97d526efae7 100644 --- a/addons/web_mobile/po/web_mobile.pot +++ b/addons/web_mobile/po/web_mobile.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_rpc/po/web_rpc.pot b/addons/web_rpc/po/web_rpc.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_rpc/po/web_rpc.pot +++ b/addons/web_rpc/po/web_rpc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 334ed410ccad2d5a9a6fed3b87d6a28824e84a10 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:08:27 +0100 Subject: [PATCH 087/119] [TNL] updated translation template files bzr revid: xmo@openerp.com-20111215100827-ygieteye9052xbqd --- addons/web/po/web.pot | 202 +++++++++++++--------- addons/web_calendar/po/web_calendar.pot | 6 +- addons/web_chat/po/web_chat.pot | 2 +- addons/web_dashboard/po/web_dashboard.pot | 2 +- addons/web_diagram/po/web_diagram.pot | 2 +- addons/web_gantt/po/web_gantt.pot | 2 +- addons/web_graph/po/web_graph.pot | 2 +- addons/web_hello/po/web_hello.pot | 2 +- addons/web_mobile/po/web_mobile.pot | 2 +- addons/web_rpc/po/web_rpc.pot | 2 +- 10 files changed, 127 insertions(+), 97 deletions(-) diff --git a/addons/web/po/web.pot b/addons/web/po/web.pot index 9f8390e71e8..286d75ebe1a 100644 --- a/addons/web/po/web.pot +++ b/addons/web/po/web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,8 +18,8 @@ msgstr "" "Generated-By: Babel 0.9.6\n" #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "" @@ -31,115 +31,115 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 addons/web/static/src/xml/base.xml:0 msgid "Cancel" msgstr "" -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" @@ -151,41 +151,55 @@ msgstr "" msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_form.js:386 msgid "Warning, the record has been modified, your changes will be discarded." msgstr "" -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:594 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:632 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1054 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "" -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "" -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "" + +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -193,80 +207,80 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 msgid "Save" msgstr "" @@ -481,11 +495,31 @@ msgid "Disable all tips" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -540,10 +574,6 @@ msgstr "" msgid "Duplicate" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" diff --git a/addons/web_calendar/po/web_calendar.pot b/addons/web_calendar/po/web_calendar.pot index f92c598a0bf..702a7975524 100644 --- a/addons/web_calendar/po/web_calendar.pot +++ b/addons/web_calendar/po/web_calendar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_chat/po/web_chat.pot b/addons/web_chat/po/web_chat.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_chat/po/web_chat.pot +++ b/addons/web_chat/po/web_chat.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_dashboard/po/web_dashboard.pot b/addons/web_dashboard/po/web_dashboard.pot index 201c979a547..a1a3c1d5e9a 100644 --- a/addons/web_dashboard/po/web_dashboard.pot +++ b/addons/web_dashboard/po/web_dashboard.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_diagram/po/web_diagram.pot b/addons/web_diagram/po/web_diagram.pot index 91d96431684..8a4e5029a26 100644 --- a/addons/web_diagram/po/web_diagram.pot +++ b/addons/web_diagram/po/web_diagram.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_gantt/po/web_gantt.pot b/addons/web_gantt/po/web_gantt.pot index 9c91dda7f30..b89e5c3d878 100644 --- a/addons/web_gantt/po/web_gantt.pot +++ b/addons/web_gantt/po/web_gantt.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_graph/po/web_graph.pot b/addons/web_graph/po/web_graph.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_graph/po/web_graph.pot +++ b/addons/web_graph/po/web_graph.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_hello/po/web_hello.pot b/addons/web_hello/po/web_hello.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_hello/po/web_hello.pot +++ b/addons/web_hello/po/web_hello.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_mobile/po/web_mobile.pot b/addons/web_mobile/po/web_mobile.pot index 6667eeb8d27..97d526efae7 100644 --- a/addons/web_mobile/po/web_mobile.pot +++ b/addons/web_mobile/po/web_mobile.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_rpc/po/web_rpc.pot b/addons/web_rpc/po/web_rpc.pot index 070ea446394..6d003e7cedd 100644 --- a/addons/web_rpc/po/web_rpc.pot +++ b/addons/web_rpc/po/web_rpc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From f1e25838b6094a14648297c632b45f95d9e040e4 Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (OpenERP)" Date: Thu, 15 Dec 2011 15:59:10 +0530 Subject: [PATCH 088/119] [FIX]Fixed code for showing size of upload file. lp bug: https://launchpad.net/bugs/901068 fixed bzr revid: kch@tinyerp.com-20111215102910-zjyp5rsp3wbugoyu --- addons/web/controllers/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 81061ba5477..09b5299a555 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -270,7 +270,7 @@ class Database(openerpweb.Controller): params['db_lang'], params['create_admin_pwd'] ) - + try: return req.session.proxy("db").create(*create_attrs) except xmlrpclib.Fault, e: @@ -1181,7 +1181,7 @@ class Binary(openerpweb.Controller): } """ data = ufile.read() - args = [ufile.content_length, ufile.filename, + args = [len(data), ufile.filename, ufile.content_type, base64.b64encode(data)] except Exception, e: args = [False, e.message] From b5a797ba0af00cebcf26005bdcfda8151e39cb48 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:40:31 +0100 Subject: [PATCH 089/119] [IMP] mark a bunch of dialog stuff as exportable (mostly buttons, but also dialog titles) bzr revid: xmo@openerp.com-20111215104031-h2xjkf0zwf8x8zjk --- addons/web/static/src/js/chrome.js | 68 ++++---- addons/web/static/src/js/data_export.js | 17 +- addons/web/static/src/js/data_import.js | 2 +- addons/web/static/src/js/view_editor.js | 155 ++++++++---------- addons/web/static/src/js/view_form.js | 30 ++-- addons/web/static/src/js/views.js | 2 +- .../web_dashboard/static/src/js/dashboard.js | 5 +- addons/web_diagram/static/src/js/diagram.js | 24 +-- addons/web_process/static/src/js/process.js | 15 +- 9 files changed, 146 insertions(+), 172 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 0881087caa6..7d5d98c3d3c 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -2,7 +2,8 @@ * OpenERP Web chrome *---------------------------------------------------------*/ openerp.web.chrome = function(openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.Notification = openerp.web.Widget.extend(/** @lends openerp.web.Notification# */{ template: 'Notification', @@ -157,11 +158,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({ on_managed_error: function(error) { $('
' + QWeb.render('DialogWarning', {error: error}) + '
').dialog({ title: "OpenERP " + _.str.capitalize(error.type), - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }); }, on_traceback: function(error) { @@ -172,11 +171,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({ height: '90%', min_width: '800px', min_height: '600px', - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }).start(); dialog.$element.html(QWeb.render('DialogTraceback', {error: error})); } @@ -368,11 +365,9 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database return $('
').dialog({ modal: true, title: error.title, - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }).html(error.error); }, do_create: function() { @@ -680,7 +675,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * self.rpc("/web/webclient/version_info", {}).then(function(res) { var $help = $(QWeb.render("About-Page", {version_info: res})); $help.dialog({autoOpen: true, - modal: true, width: 960, title: "About"}); + modal: true, width: 960, title: _t("About")}); }); }, shortcut_load :function(){ @@ -760,25 +755,22 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * }); this.dialog = new openerp.web.Dialog(this,{ modal: true, - title: 'Preferences', + title: _t("Preferences"), width: 600, height: 500, - buttons: { - "Change password": function(){ - self.change_password(); - }, - Cancel: function(){ - $(this).dialog('destroy'); - }, - Save: function(){ - var inner_viewmanager = action_manager.inner_viewmanager; - inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save() - .then(function() { - self.dialog.stop(); - window.location.reload(); - }); + buttons: [ + {text: _t("Change password"), click: function(){ self.change_password(); }}, + {text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }}, + {text: _t("Save"), click: function(){ + var inner_viewmanager = action_manager.inner_viewmanager; + inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save() + .then(function() { + self.dialog.stop(); + window.location.reload(); + }); + } } - } + ] }); this.dialog.start().open(); action_manager.appendTo(this.dialog); @@ -789,7 +781,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * var self = this; this.dialog = new openerp.web.Dialog(this,{ modal : true, - title : 'Change Password', + title: _t("Change Password"), width : 'auto', height : 'auto' }); @@ -814,11 +806,9 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * return $('
').dialog({ modal: true, title: error.title, - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _("Ok"), click: function() { $(this).dialog("close"); }} + ] }).html(error.error); }, on_logout: function() { diff --git a/addons/web/static/src/js/data_export.js b/addons/web/static/src/js/data_export.js index ea142606b5b..8a2d2c8594b 100644 --- a/addons/web/static/src/js/data_export.js +++ b/addons/web/static/src/js/data_export.js @@ -1,8 +1,9 @@ openerp.web.data_export = function(openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.DataExport = openerp.web.Dialog.extend({ template: 'ExportTreeView', - dialog_title: 'Export Data', + dialog_title: {toString: function () { return _t("Export Data"); }}, init: function(parent, dataset) { this._super(parent); this.records = {}; @@ -18,14 +19,10 @@ openerp.web.DataExport = openerp.web.Dialog.extend({ width: '55%', height: 'auto', position: 'top', - buttons : { - "Close" : function() { - self.close(); - }, - "Export To File" : function() { - self.on_click_export_data(); - } - }, + buttons : [ + {text: _t("Close"), click: function() { self.close(); }}, + {text: _t("Export To File"), click: function() { self.on_click_export_data(); }} + ], close: function(event, ui){ self.close();} }); self.$element.removeClass('ui-dialog-content ui-widget-content'); diff --git a/addons/web/static/src/js/data_import.js b/addons/web/static/src/js/data_import.js index cd699c0481d..7f4af7b35bb 100644 --- a/addons/web/static/src/js/data_import.js +++ b/addons/web/static/src/js/data_import.js @@ -31,7 +31,7 @@ function jsonp(form, attributes, callback) { openerp.web.DataImport = openerp.web.Dialog.extend({ template: 'ImportDataView', - dialog_title: "Import Data", + dialog_title: {toString: function () { return _t("Import Data"); }}, init: function(parent, dataset){ var self = this; this._super(parent, {}); diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js index 352856c2b6c..f925a6416eb 100644 --- a/addons/web/static/src/js/view_editor.js +++ b/addons/web/static/src/js/view_editor.js @@ -35,28 +35,19 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ pager: false, radio: true, select_view_id: self.parent.fields_view.view_id - }, + } }; this.view_edit_dialog = new openerp.web.Dialog(this, { modal: true, - title: 'ViewEditor', + title: _t("ViewEditor"), width: 750, height: 500, - buttons: { - "Create": function(){ - self.on_create_view(); - }, - "Edit": function(){ - self.xml_element_id = 0; - self.get_arch(); - }, - "Remove": function(){ - self.do_delete_view(); - }, - "Close": function(){ - self.view_edit_dialog.close(); - } - }, + buttons: [ + {text: _t("Create"), click: function() { self.on_create_view(); }}, + {text: _t("Edit"), click: function() { self.xml_element_id = 0; self.get_arch(); }}, + {text: _t("Remove"), click: function() { self.do_delete_view(); }}, + {text: _t("Close"), click: function() { self.view_edit_dialog.close(); }} + ] }).start().open(); this.main_view_id = this.parent.fields_view.view_id; this.action_manager = new openerp.web.ActionManager(this); @@ -77,36 +68,34 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ var self = this; this.create_view_dialog = new openerp.web.Dialog(this, { modal: true, - title: _.str.sprintf("Create a view (%s)", self.model), + title: _.str.sprintf(_t("Create a view (%s)"), self.model), width: 500, height: 400, - buttons: { - "Save": function(){ - var view_values = {}; - var warn = false; - _.each(self.create_view_widget, function(widget) { - if (widget.is_invalid) { - warn = true; - return false; - }; - if (widget.dirty && !widget.is_invalid) { - view_values[widget.name] = widget.get_value(); - } - }); - if (warn) { - self.on_valid_create_view(self.create_view_widget); - } else { - $.when(self.do_save_view(view_values)).then(function() { - self.create_view_dialog.close(); - var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller; - controller.reload_content(); - }); + buttons: [ + {text: _t("Save"), click: function () { + var view_values = {}; + var warn = false; + _.each(self.create_view_widget, function(widget) { + if (widget.is_invalid) { + warn = true; + return false; } - }, - "Cancel": function(){ - self.create_view_dialog.close(); + if (widget.dirty && !widget.is_invalid) { + view_values[widget.name] = widget.get_value(); + } + }); + if (warn) { + self.on_valid_create_view(self.create_view_widget); + } else { + $.when(self.do_save_view(view_values)).then(function() { + self.create_view_dialog.close(); + var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller; + controller.reload_content(); + }); } - } + }}, + {text: _t("Cancel"), click: function () { self.create_view_dialog.close(); }} + ] }); this.create_view_dialog.start().open(); var view_widget = [{'name': 'view_name', 'string':'View Name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)}, @@ -375,11 +364,11 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ this.one_object = one_object; this.edit_xml_dialog = new openerp.web.Dialog(this, { modal: true, - title: _.str.sprintf("View Editor %d - %s", self.main_view_id, self.model), + title: _.str.sprintf(_t("View Editor %d - %s"), self.main_view_id, self.model), width: 750, height: 500, - buttons: { - "Preview": function() { + buttons: [ + {text: _t("Preview"), click: function() { var action = { context: self.session.user_context, res_model: self.model, @@ -389,16 +378,16 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ flags: { sidebar: false, views_switcher: false, - action_buttons: false, - }, + action_buttons: false + } }; var action_manager = new openerp.web.ActionManager(self); action_manager.do_action(action); - }, - "Close": function(){ + }}, + {text: _t("Close"), click: function(){ self.edit_xml_dialog.close(); - } - } + }} + ] }).start().open(); var no_property_att = []; _.each(_PROPERTIES, function(val, key) { @@ -764,17 +753,17 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ var self = this; this.edit_node_dialog = new openerp.web.Dialog(this,{ modal: true, - title: 'Properties', + title: _t("Properties"), width: 500, height: 400, - buttons: { - "Update": function(){ + buttons: [ + {text: _t("Update"), click: function () { var warn = false, update_values = []; _.each(self.edit_widget, function(widget) { if (widget.is_invalid) { warn = true; return false; - }; + } if (widget.dirty && !widget.is_invalid) { update_values.push([widget.name, widget.get_value()]); } @@ -785,11 +774,9 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ self.do_save_update_arch("update_node", update_values); self.edit_node_dialog.close(); } - }, - "Cancel": function(){ - self.edit_node_dialog.close(); - } - } + }}, + {text: _t("Cancel"), click: function () { self.edit_node_dialog.close(); }} + ] }); this.edit_node_dialog.start().open(); var _PROPERTIES_ATTRIBUTES = { @@ -893,32 +880,32 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ this.add_widget = []; this.add_node_dialog = new openerp.web.Dialog(this,{ modal: true, - title: 'Properties', + title: _t("Properties"), width: 450, height: 190, - buttons: { - "Update": function(){ - var check_add_node = true, values = {}; - _.each(self.add_widget, function(widget) { - values[widget.name] = widget.get_value() || false; - }); - (values.position == "Inside")? - check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false: - check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false; - if(values.node_type == "field" && check_add_node ) - {check_add_node = (values.field_value != " ")?true:false; - } - if(check_add_node){ - var tag = (values.node_type == "field")? - _.str.sprintf("<%s name='%s'> ",values.node_type,values.field_value,values.node_type): - _.str.sprintf("<%s> ",values.node_type,values.node_type); - self.do_save_update_arch("add_node", [tag, values.position]); - }else{alert("Can't Update View");} - }, - "Cancel": function(){ - self.add_node_dialog.close(); + buttons: [ + {text: _t("Update"), click: function() { + var check_add_node = true, values = {}; + _.each(self.add_widget, function(widget) { + values[widget.name] = widget.get_value() || false; + }); + (values.position == "Inside")? + check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false: + check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false; + if(values.node_type == "field" && check_add_node ) + {check_add_node = (values.field_value != " ")?true:false; } - } + if(check_add_node){ + var tag = (values.node_type == "field")? + _.str.sprintf("<%s name='%s'> ",values.node_type,values.field_value,values.node_type): + _.str.sprintf("<%s> ",values.node_type,values.node_type); + self.do_save_update_arch("add_node", [tag, values.position]); + } else { + alert("Can't Update View"); + } + }}, + {text: _t("Cancel"), click: function() { self.add_node_dialog.close(); }} + ] }).start().open(); this.add_node_dialog.$element.append('
'); var table_selector = self.add_node_dialog.$element.find('table[id=rec_table] tbody'); diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index c37256fa1dd..0e7eca43eda 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -337,11 +337,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (!_.isEmpty(result.warning)) { $(QWeb.render("DialogWarning", result.warning)).dialog({ modal: true, - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }); } if (result.domain) { @@ -1053,18 +1051,20 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ var dialog = $('
' + self.node.attrs.confirm + '
').dialog({ title: _t('Confirm'), modal: true, - buttons: { - Ok: function() { - self.on_confirmed().then(function() { - def.resolve(); - }); - $(this).dialog("close"); + buttons: [ + {text: _t("Ok"), click: function() { + self.on_confirmed().then(function() { + def.resolve(); + }); + $(this).dialog("close"); + } }, - Cancel: function() { - def.resolve(); - $(this).dialog("close"); + {text: _t("Cancel"), click: function() { + def.resolve(); + $(this).dialog("close"); + } } - } + ] }); return def.promise(); } else { diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index f97a09dee94..36edec727a6 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -840,7 +840,7 @@ session.web.Sidebar = session.web.Widget.extend({ }); session.web.TranslateDialog = session.web.Dialog.extend({ - dialog_title: _t("Translations"), + dialog_title: {toString: function () { return _t("Translations"); }}, init: function(view) { // TODO fme: should add the language to fields_view_get because between the fields view get // and the moment the user opens the translation dialog, the user language could have been changed diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index ce7e877b73f..28ea12796d2 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -1,5 +1,6 @@ openerp.web_dashboard = function(openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; if (!openerp.web_dashboard) { /** @namespace */ @@ -59,7 +60,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({ }; var $dialog = $('
').dialog({ modal: true, - title: 'Edit Layout', + title: _t("Edit Layout"), width: 'auto', height: 'auto' }).html(QWeb.render('DashBoard.layouts', qdict)); diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index 7c2619cd5b9..0572b7f6fed 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -3,7 +3,8 @@ *---------------------------------------------------------*/ openerp.web_diagram = function (openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.views.add('diagram', 'openerp.web.DiagramView'); openerp.web.DiagramView = openerp.web.View.extend({ searchable: false, @@ -203,19 +204,18 @@ openerp.web.DiagramView = openerp.web.View.extend({ var dialog = new openerp.web.Dialog(this, { width: 800, height: 600, - buttons : { - Cancel : function() { - $(this).dialog('destroy'); - }, - Save : function() { - var form_view = action_manager.inner_viewmanager.views.form.controller; + buttons : [ + {text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }}, + {text: _t("Save"), click: function() { + var form_view = action_manager.inner_viewmanager.views.form.controller; - form_view.do_save(function() { - self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded); - }); - $(this).dialog('destroy'); + form_view.do_save(function() { + self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded); + }); + $(this).dialog('destroy'); + } } - } + ] }).start().open(); action_manager.appendTo(dialog.$element); action_manager.do_action({ diff --git a/addons/web_process/static/src/js/process.js b/addons/web_process/static/src/js/process.js index 9bf814aa4f4..e650530a914 100644 --- a/addons/web_process/static/src/js/process.js +++ b/addons/web_process/static/src/js/process.js @@ -1,5 +1,6 @@ openerp.web_process = function (openerp) { - var QWeb = openerp.web.qweb; + var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.ViewManager.include({ start: function() { this._super(); @@ -275,19 +276,17 @@ openerp.web_process = function (openerp) { var dialog = new openerp.web.Dialog(this, { width: 800, height: 600, - buttons : { - Cancel : function() { - $(this).dialog('destroy'); - }, - Save : function() { + buttons : [ + {text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }}, + {text: _t("Save"), click: function() { var form_view = action_manager.inner_viewmanager.views.form.controller; form_view.do_save(function() { self.initialize_process_view(); }); $(this).dialog('destroy'); - } - } + }} + ] }).start().open(); action_manager.appendTo(dialog.$element); From 187216f8bdd055bc2dd3cdfa79245c8a2fbd754e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:40:31 +0100 Subject: [PATCH 090/119] [IMP] mark a bunch of dialog stuff as exportable (mostly buttons, but also dialog titles) bzr revid: xmo@openerp.com-20111215104031-zy56xwtb7cjwzcbj --- addons/web/static/src/js/chrome.js | 68 ++++---- addons/web/static/src/js/data_export.js | 17 +- addons/web/static/src/js/data_import.js | 2 +- addons/web/static/src/js/view_editor.js | 155 ++++++++---------- addons/web/static/src/js/view_form.js | 30 ++-- addons/web/static/src/js/views.js | 2 +- .../web_dashboard/static/src/js/dashboard.js | 5 +- addons/web_diagram/static/src/js/diagram.js | 24 +-- addons/web_process/static/src/js/process.js | 15 +- 9 files changed, 146 insertions(+), 172 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 0d0454c08e4..22b8ff88c37 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -2,7 +2,8 @@ * OpenERP Web chrome *---------------------------------------------------------*/ openerp.web.chrome = function(openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.Notification = openerp.web.Widget.extend(/** @lends openerp.web.Notification# */{ template: 'Notification', @@ -157,11 +158,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({ on_managed_error: function(error) { $('
' + QWeb.render('DialogWarning', {error: error}) + '
').dialog({ title: "OpenERP " + _.str.capitalize(error.type), - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }); }, on_traceback: function(error) { @@ -172,11 +171,9 @@ openerp.web.CrashManager = openerp.web.CallbackEnabled.extend({ height: '90%', min_width: '800px', min_height: '600px', - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }).start(); dialog.$element.html(QWeb.render('DialogTraceback', {error: error})); } @@ -368,11 +365,9 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database return $('
').dialog({ modal: true, title: error.title, - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }).html(error.error); }, do_create: function() { @@ -680,7 +675,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * self.rpc("/web/webclient/version_info", {}).then(function(res) { var $help = $(QWeb.render("About-Page", {version_info: res})); $help.dialog({autoOpen: true, - modal: true, width: 960, title: "About"}); + modal: true, width: 960, title: _t("About")}); }); }, shortcut_load :function(){ @@ -760,25 +755,22 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * }); this.dialog = new openerp.web.Dialog(this,{ modal: true, - title: 'Preferences', + title: _t("Preferences"), width: 600, height: 500, - buttons: { - "Change password": function(){ - self.change_password(); - }, - Cancel: function(){ - $(this).dialog('destroy'); - }, - Save: function(){ - var inner_viewmanager = action_manager.inner_viewmanager; - inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save() - .then(function() { - self.dialog.stop(); - window.location.reload(); - }); + buttons: [ + {text: _t("Change password"), click: function(){ self.change_password(); }}, + {text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }}, + {text: _t("Save"), click: function(){ + var inner_viewmanager = action_manager.inner_viewmanager; + inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save() + .then(function() { + self.dialog.stop(); + window.location.reload(); + }); + } } - } + ] }); this.dialog.start().open(); action_manager.appendTo(this.dialog); @@ -789,7 +781,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * var self = this; this.dialog = new openerp.web.Dialog(this,{ modal : true, - title : 'Change Password', + title: _t("Change Password"), width : 'auto', height : 'auto' }); @@ -814,11 +806,9 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# * return $('
').dialog({ modal: true, title: error.title, - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _("Ok"), click: function() { $(this).dialog("close"); }} + ] }).html(error.error); }, on_logout: function() { diff --git a/addons/web/static/src/js/data_export.js b/addons/web/static/src/js/data_export.js index ea142606b5b..8a2d2c8594b 100644 --- a/addons/web/static/src/js/data_export.js +++ b/addons/web/static/src/js/data_export.js @@ -1,8 +1,9 @@ openerp.web.data_export = function(openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.DataExport = openerp.web.Dialog.extend({ template: 'ExportTreeView', - dialog_title: 'Export Data', + dialog_title: {toString: function () { return _t("Export Data"); }}, init: function(parent, dataset) { this._super(parent); this.records = {}; @@ -18,14 +19,10 @@ openerp.web.DataExport = openerp.web.Dialog.extend({ width: '55%', height: 'auto', position: 'top', - buttons : { - "Close" : function() { - self.close(); - }, - "Export To File" : function() { - self.on_click_export_data(); - } - }, + buttons : [ + {text: _t("Close"), click: function() { self.close(); }}, + {text: _t("Export To File"), click: function() { self.on_click_export_data(); }} + ], close: function(event, ui){ self.close();} }); self.$element.removeClass('ui-dialog-content ui-widget-content'); diff --git a/addons/web/static/src/js/data_import.js b/addons/web/static/src/js/data_import.js index cd699c0481d..7f4af7b35bb 100644 --- a/addons/web/static/src/js/data_import.js +++ b/addons/web/static/src/js/data_import.js @@ -31,7 +31,7 @@ function jsonp(form, attributes, callback) { openerp.web.DataImport = openerp.web.Dialog.extend({ template: 'ImportDataView', - dialog_title: "Import Data", + dialog_title: {toString: function () { return _t("Import Data"); }}, init: function(parent, dataset){ var self = this; this._super(parent, {}); diff --git a/addons/web/static/src/js/view_editor.js b/addons/web/static/src/js/view_editor.js index 352856c2b6c..f925a6416eb 100644 --- a/addons/web/static/src/js/view_editor.js +++ b/addons/web/static/src/js/view_editor.js @@ -35,28 +35,19 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ pager: false, radio: true, select_view_id: self.parent.fields_view.view_id - }, + } }; this.view_edit_dialog = new openerp.web.Dialog(this, { modal: true, - title: 'ViewEditor', + title: _t("ViewEditor"), width: 750, height: 500, - buttons: { - "Create": function(){ - self.on_create_view(); - }, - "Edit": function(){ - self.xml_element_id = 0; - self.get_arch(); - }, - "Remove": function(){ - self.do_delete_view(); - }, - "Close": function(){ - self.view_edit_dialog.close(); - } - }, + buttons: [ + {text: _t("Create"), click: function() { self.on_create_view(); }}, + {text: _t("Edit"), click: function() { self.xml_element_id = 0; self.get_arch(); }}, + {text: _t("Remove"), click: function() { self.do_delete_view(); }}, + {text: _t("Close"), click: function() { self.view_edit_dialog.close(); }} + ] }).start().open(); this.main_view_id = this.parent.fields_view.view_id; this.action_manager = new openerp.web.ActionManager(this); @@ -77,36 +68,34 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ var self = this; this.create_view_dialog = new openerp.web.Dialog(this, { modal: true, - title: _.str.sprintf("Create a view (%s)", self.model), + title: _.str.sprintf(_t("Create a view (%s)"), self.model), width: 500, height: 400, - buttons: { - "Save": function(){ - var view_values = {}; - var warn = false; - _.each(self.create_view_widget, function(widget) { - if (widget.is_invalid) { - warn = true; - return false; - }; - if (widget.dirty && !widget.is_invalid) { - view_values[widget.name] = widget.get_value(); - } - }); - if (warn) { - self.on_valid_create_view(self.create_view_widget); - } else { - $.when(self.do_save_view(view_values)).then(function() { - self.create_view_dialog.close(); - var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller; - controller.reload_content(); - }); + buttons: [ + {text: _t("Save"), click: function () { + var view_values = {}; + var warn = false; + _.each(self.create_view_widget, function(widget) { + if (widget.is_invalid) { + warn = true; + return false; } - }, - "Cancel": function(){ - self.create_view_dialog.close(); + if (widget.dirty && !widget.is_invalid) { + view_values[widget.name] = widget.get_value(); + } + }); + if (warn) { + self.on_valid_create_view(self.create_view_widget); + } else { + $.when(self.do_save_view(view_values)).then(function() { + self.create_view_dialog.close(); + var controller = self.action_manager.inner_viewmanager.views[self.action_manager.inner_viewmanager.active_view].controller; + controller.reload_content(); + }); } - } + }}, + {text: _t("Cancel"), click: function () { self.create_view_dialog.close(); }} + ] }); this.create_view_dialog.start().open(); var view_widget = [{'name': 'view_name', 'string':'View Name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)}, @@ -375,11 +364,11 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ this.one_object = one_object; this.edit_xml_dialog = new openerp.web.Dialog(this, { modal: true, - title: _.str.sprintf("View Editor %d - %s", self.main_view_id, self.model), + title: _.str.sprintf(_t("View Editor %d - %s"), self.main_view_id, self.model), width: 750, height: 500, - buttons: { - "Preview": function() { + buttons: [ + {text: _t("Preview"), click: function() { var action = { context: self.session.user_context, res_model: self.model, @@ -389,16 +378,16 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ flags: { sidebar: false, views_switcher: false, - action_buttons: false, - }, + action_buttons: false + } }; var action_manager = new openerp.web.ActionManager(self); action_manager.do_action(action); - }, - "Close": function(){ + }}, + {text: _t("Close"), click: function(){ self.edit_xml_dialog.close(); - } - } + }} + ] }).start().open(); var no_property_att = []; _.each(_PROPERTIES, function(val, key) { @@ -764,17 +753,17 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ var self = this; this.edit_node_dialog = new openerp.web.Dialog(this,{ modal: true, - title: 'Properties', + title: _t("Properties"), width: 500, height: 400, - buttons: { - "Update": function(){ + buttons: [ + {text: _t("Update"), click: function () { var warn = false, update_values = []; _.each(self.edit_widget, function(widget) { if (widget.is_invalid) { warn = true; return false; - }; + } if (widget.dirty && !widget.is_invalid) { update_values.push([widget.name, widget.get_value()]); } @@ -785,11 +774,9 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ self.do_save_update_arch("update_node", update_values); self.edit_node_dialog.close(); } - }, - "Cancel": function(){ - self.edit_node_dialog.close(); - } - } + }}, + {text: _t("Cancel"), click: function () { self.edit_node_dialog.close(); }} + ] }); this.edit_node_dialog.start().open(); var _PROPERTIES_ATTRIBUTES = { @@ -893,32 +880,32 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({ this.add_widget = []; this.add_node_dialog = new openerp.web.Dialog(this,{ modal: true, - title: 'Properties', + title: _t("Properties"), width: 450, height: 190, - buttons: { - "Update": function(){ - var check_add_node = true, values = {}; - _.each(self.add_widget, function(widget) { - values[widget.name] = widget.get_value() || false; - }); - (values.position == "Inside")? - check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false: - check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false; - if(values.node_type == "field" && check_add_node ) - {check_add_node = (values.field_value != " ")?true:false; - } - if(check_add_node){ - var tag = (values.node_type == "field")? - _.str.sprintf("<%s name='%s'> ",values.node_type,values.field_value,values.node_type): - _.str.sprintf("<%s> ",values.node_type,values.node_type); - self.do_save_update_arch("add_node", [tag, values.position]); - }else{alert("Can't Update View");} - }, - "Cancel": function(){ - self.add_node_dialog.close(); + buttons: [ + {text: _t("Update"), click: function() { + var check_add_node = true, values = {}; + _.each(self.add_widget, function(widget) { + values[widget.name] = widget.get_value() || false; + }); + (values.position == "Inside")? + check_add_node =(_.include(_CHILDREN[properties[0]],values.node_type))?true:false: + check_add_node =(_.include(_CHILDREN[properties[1]],values.node_type))?true:false; + if(values.node_type == "field" && check_add_node ) + {check_add_node = (values.field_value != " ")?true:false; } - } + if(check_add_node){ + var tag = (values.node_type == "field")? + _.str.sprintf("<%s name='%s'> ",values.node_type,values.field_value,values.node_type): + _.str.sprintf("<%s> ",values.node_type,values.node_type); + self.do_save_update_arch("add_node", [tag, values.position]); + } else { + alert("Can't Update View"); + } + }}, + {text: _t("Cancel"), click: function() { self.add_node_dialog.close(); }} + ] }).start().open(); this.add_node_dialog.$element.append('
'); var table_selector = self.add_node_dialog.$element.find('table[id=rec_table] tbody'); diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 83f6768f292..7be1cfec741 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -337,11 +337,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (!_.isEmpty(result.warning)) { $(QWeb.render("DialogWarning", result.warning)).dialog({ modal: true, - buttons: { - Ok: function() { - $(this).dialog("close"); - } - } + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] }); } if (result.domain) { @@ -1053,18 +1051,20 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ var dialog = $('
' + self.node.attrs.confirm + '
').dialog({ title: _t('Confirm'), modal: true, - buttons: { - Ok: function() { - self.on_confirmed().then(function() { - def.resolve(); - }); - $(this).dialog("close"); + buttons: [ + {text: _t("Ok"), click: function() { + self.on_confirmed().then(function() { + def.resolve(); + }); + $(this).dialog("close"); + } }, - Cancel: function() { - def.resolve(); - $(this).dialog("close"); + {text: _t("Cancel"), click: function() { + def.resolve(); + $(this).dialog("close"); + } } - } + ] }); return def.promise(); } else { diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index ba5ef2772e7..94972fcde31 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -840,7 +840,7 @@ session.web.Sidebar = session.web.Widget.extend({ }); session.web.TranslateDialog = session.web.Dialog.extend({ - dialog_title: _t("Translations"), + dialog_title: {toString: function () { return _t("Translations"); }}, init: function(view) { // TODO fme: should add the language to fields_view_get because between the fields view get // and the moment the user opens the translation dialog, the user language could have been changed diff --git a/addons/web_dashboard/static/src/js/dashboard.js b/addons/web_dashboard/static/src/js/dashboard.js index ce7e877b73f..28ea12796d2 100644 --- a/addons/web_dashboard/static/src/js/dashboard.js +++ b/addons/web_dashboard/static/src/js/dashboard.js @@ -1,5 +1,6 @@ openerp.web_dashboard = function(openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; if (!openerp.web_dashboard) { /** @namespace */ @@ -59,7 +60,7 @@ openerp.web.form.DashBoard = openerp.web.form.Widget.extend({ }; var $dialog = $('
').dialog({ modal: true, - title: 'Edit Layout', + title: _t("Edit Layout"), width: 'auto', height: 'auto' }).html(QWeb.render('DashBoard.layouts', qdict)); diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index 7c2619cd5b9..0572b7f6fed 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -3,7 +3,8 @@ *---------------------------------------------------------*/ openerp.web_diagram = function (openerp) { -var QWeb = openerp.web.qweb; +var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.views.add('diagram', 'openerp.web.DiagramView'); openerp.web.DiagramView = openerp.web.View.extend({ searchable: false, @@ -203,19 +204,18 @@ openerp.web.DiagramView = openerp.web.View.extend({ var dialog = new openerp.web.Dialog(this, { width: 800, height: 600, - buttons : { - Cancel : function() { - $(this).dialog('destroy'); - }, - Save : function() { - var form_view = action_manager.inner_viewmanager.views.form.controller; + buttons : [ + {text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }}, + {text: _t("Save"), click: function() { + var form_view = action_manager.inner_viewmanager.views.form.controller; - form_view.do_save(function() { - self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded); - }); - $(this).dialog('destroy'); + form_view.do_save(function() { + self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded); + }); + $(this).dialog('destroy'); + } } - } + ] }).start().open(); action_manager.appendTo(dialog.$element); action_manager.do_action({ diff --git a/addons/web_process/static/src/js/process.js b/addons/web_process/static/src/js/process.js index 9bf814aa4f4..e650530a914 100644 --- a/addons/web_process/static/src/js/process.js +++ b/addons/web_process/static/src/js/process.js @@ -1,5 +1,6 @@ openerp.web_process = function (openerp) { - var QWeb = openerp.web.qweb; + var QWeb = openerp.web.qweb, + _t = openerp.web._t; openerp.web.ViewManager.include({ start: function() { this._super(); @@ -275,19 +276,17 @@ openerp.web_process = function (openerp) { var dialog = new openerp.web.Dialog(this, { width: 800, height: 600, - buttons : { - Cancel : function() { - $(this).dialog('destroy'); - }, - Save : function() { + buttons : [ + {text: _t("Cancel"), click: function() { $(this).dialog('destroy'); }}, + {text: _t("Save"), click: function() { var form_view = action_manager.inner_viewmanager.views.form.controller; form_view.do_save(function() { self.initialize_process_view(); }); $(this).dialog('destroy'); - } - } + }} + ] }).start().open(); action_manager.appendTo(dialog.$element); From c7f3185c0be73fccb50eae1186e9aaa5a3da5a8b Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:41:45 +0100 Subject: [PATCH 091/119] [EXP] export translation templates for strings marked during previous revision bzr revid: xmo@openerp.com-20111215104145-lzffvxr7co3khck1 --- addons/web/po/web.pot | 145 ++++++++++++++++------ addons/web_calendar/po/web_calendar.pot | 2 +- addons/web_chat/po/web_chat.pot | 2 +- addons/web_dashboard/po/web_dashboard.pot | 6 +- addons/web_diagram/po/web_diagram.pot | 10 +- addons/web_gantt/po/web_gantt.pot | 2 +- addons/web_graph/po/web_graph.pot | 2 +- addons/web_hello/po/web_hello.pot | 2 +- addons/web_mobile/po/web_mobile.pot | 2 +- addons/web_rpc/po/web_rpc.pot | 2 +- 10 files changed, 129 insertions(+), 46 deletions(-) diff --git a/addons/web/po/web.pot b/addons/web/po/web.pot index 286d75ebe1a..f0a41e2d16a 100644 --- a/addons/web/po/web.pot +++ b/addons/web/po/web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,12 +17,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 #: addons/web/static/src/js/view_form.js:2741 #: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -35,11 +92,6 @@ msgstr "" msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "" - #: addons/web/static/src/js/search.js:238 #: addons/web/static/src/js/search.js:279 msgid "OK" @@ -143,28 +195,72 @@ msgstr "" msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:386 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "Warning, the record has been modified, your changes will be discarded." msgstr "" -#: addons/web/static/src/js/view_form.js:594 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:632 +#: addons/web/static/src/js/view_form.js:630 #, python-format msgid "Do you really want to delete the attachment %s?" msgstr "" -#: addons/web/static/src/js/view_form.js:1054 +#: addons/web/static/src/js/view_form.js:1052 msgid "Confirm" msgstr "" @@ -186,11 +282,6 @@ msgstr "" msgid "Add" msgstr "" -#: addons/web/static/src/js/view_list.js:15 -#: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "" - #: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" @@ -280,10 +371,6 @@ msgstr "" msgid "Translations" msgstr "" -#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -396,10 +483,6 @@ msgstr "" msgid "Confirm new master password:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "" @@ -566,10 +649,6 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "" @@ -806,10 +885,6 @@ msgstr "" msgid "Save fields list" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "" @@ -826,10 +901,6 @@ msgstr "" msgid "Save as:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "" diff --git a/addons/web_calendar/po/web_calendar.pot b/addons/web_calendar/po/web_calendar.pot index 702a7975524..bb96357ea66 100644 --- a/addons/web_calendar/po/web_calendar.pot +++ b/addons/web_calendar/po/web_calendar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_chat/po/web_chat.pot b/addons/web_chat/po/web_chat.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_chat/po/web_chat.pot +++ b/addons/web_chat/po/web_chat.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_dashboard/po/web_dashboard.pot b/addons/web_dashboard/po/web_dashboard.pot index a1a3c1d5e9a..064b084acba 100644 --- a/addons/web_dashboard/po/web_dashboard.pot +++ b/addons/web_dashboard/po/web_dashboard.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,10 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" + #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" msgstr "" diff --git a/addons/web_diagram/po/web_diagram.pot b/addons/web_diagram/po/web_diagram.pot index 8a4e5029a26..2c1fc4c6013 100644 --- a/addons/web_diagram/po/web_diagram.pot +++ b/addons/web_diagram/po/web_diagram.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" + #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" msgstr "" diff --git a/addons/web_gantt/po/web_gantt.pot b/addons/web_gantt/po/web_gantt.pot index b89e5c3d878..2e05d9b703e 100644 --- a/addons/web_gantt/po/web_gantt.pot +++ b/addons/web_gantt/po/web_gantt.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_graph/po/web_graph.pot b/addons/web_graph/po/web_graph.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_graph/po/web_graph.pot +++ b/addons/web_graph/po/web_graph.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_hello/po/web_hello.pot b/addons/web_hello/po/web_hello.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_hello/po/web_hello.pot +++ b/addons/web_hello/po/web_hello.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_mobile/po/web_mobile.pot b/addons/web_mobile/po/web_mobile.pot index 97d526efae7..53c029ce5ad 100644 --- a/addons/web_mobile/po/web_mobile.pot +++ b/addons/web_mobile/po/web_mobile.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_rpc/po/web_rpc.pot b/addons/web_rpc/po/web_rpc.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_rpc/po/web_rpc.pot +++ b/addons/web_rpc/po/web_rpc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 3c0b9b459a944de97740ba5815b75110c5adae9e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 11:41:45 +0100 Subject: [PATCH 092/119] [EXP] export translation templates for strings marked during previous revision bzr revid: xmo@openerp.com-20111215104145-wc532n2jbws7a5rl --- addons/web/po/web.pot | 145 ++++++++++++++++------ addons/web_calendar/po/web_calendar.pot | 2 +- addons/web_chat/po/web_chat.pot | 2 +- addons/web_dashboard/po/web_dashboard.pot | 6 +- addons/web_diagram/po/web_diagram.pot | 10 +- addons/web_gantt/po/web_gantt.pot | 2 +- addons/web_graph/po/web_graph.pot | 2 +- addons/web_hello/po/web_hello.pot | 2 +- addons/web_mobile/po/web_mobile.pot | 2 +- addons/web_rpc/po/web_rpc.pot | 2 +- 10 files changed, 129 insertions(+), 46 deletions(-) diff --git a/addons/web/po/web.pot b/addons/web/po/web.pot index 286d75ebe1a..f0a41e2d16a 100644 --- a/addons/web/po/web.pot +++ b/addons/web/po/web.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,12 +17,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 #: addons/web/static/src/js/view_form.js:2741 #: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -35,11 +92,6 @@ msgstr "" msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "" - #: addons/web/static/src/js/search.js:238 #: addons/web/static/src/js/search.js:279 msgid "OK" @@ -143,28 +195,72 @@ msgstr "" msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:386 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "Warning, the record has been modified, your changes will be discarded." msgstr "" -#: addons/web/static/src/js/view_form.js:594 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:632 +#: addons/web/static/src/js/view_form.js:630 #, python-format msgid "Do you really want to delete the attachment %s?" msgstr "" -#: addons/web/static/src/js/view_form.js:1054 +#: addons/web/static/src/js/view_form.js:1052 msgid "Confirm" msgstr "" @@ -186,11 +282,6 @@ msgstr "" msgid "Add" msgstr "" -#: addons/web/static/src/js/view_list.js:15 -#: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "" - #: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" @@ -280,10 +371,6 @@ msgstr "" msgid "Translations" msgstr "" -#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -396,10 +483,6 @@ msgstr "" msgid "Confirm new master password:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "" @@ -566,10 +649,6 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "" @@ -806,10 +885,6 @@ msgstr "" msgid "Save fields list" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "" @@ -826,10 +901,6 @@ msgstr "" msgid "Save as:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "" diff --git a/addons/web_calendar/po/web_calendar.pot b/addons/web_calendar/po/web_calendar.pot index 702a7975524..bb96357ea66 100644 --- a/addons/web_calendar/po/web_calendar.pot +++ b/addons/web_calendar/po/web_calendar.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_chat/po/web_chat.pot b/addons/web_chat/po/web_chat.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_chat/po/web_chat.pot +++ b/addons/web_chat/po/web_chat.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_dashboard/po/web_dashboard.pot b/addons/web_dashboard/po/web_dashboard.pot index a1a3c1d5e9a..064b084acba 100644 --- a/addons/web_dashboard/po/web_dashboard.pot +++ b/addons/web_dashboard/po/web_dashboard.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,10 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" + #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" msgstr "" diff --git a/addons/web_diagram/po/web_diagram.pot b/addons/web_diagram/po/web_diagram.pot index 8a4e5029a26..2c1fc4c6013 100644 --- a/addons/web_diagram/po/web_diagram.pot +++ b/addons/web_diagram/po/web_diagram.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" + #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" msgstr "" diff --git a/addons/web_gantt/po/web_gantt.pot b/addons/web_gantt/po/web_gantt.pot index b89e5c3d878..2e05d9b703e 100644 --- a/addons/web_gantt/po/web_gantt.pot +++ b/addons/web_gantt/po/web_gantt.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_graph/po/web_graph.pot b/addons/web_graph/po/web_graph.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_graph/po/web_graph.pot +++ b/addons/web_graph/po/web_graph.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_hello/po/web_hello.pot b/addons/web_hello/po/web_hello.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_hello/po/web_hello.pot +++ b/addons/web_hello/po/web_hello.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_mobile/po/web_mobile.pot b/addons/web_mobile/po/web_mobile.pot index 97d526efae7..53c029ce5ad 100644 --- a/addons/web_mobile/po/web_mobile.pot +++ b/addons/web_mobile/po/web_mobile.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/addons/web_rpc/po/web_rpc.pot b/addons/web_rpc/po/web_rpc.pot index 6d003e7cedd..9d965323f20 100644 --- a/addons/web_rpc/po/web_rpc.pot +++ b/addons/web_rpc/po/web_rpc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2011-12-15 11:07+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From e397be178b11174fa4f90bd75e7dd5ece8323228 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 12:29:42 +0100 Subject: [PATCH 093/119] [IMP] remove pixel-based min-widths bzr revid: xmo@openerp.com-20111215112942-zk73l2334on3kliq --- addons/web/static/src/css/base.css | 1 - addons/web_dashboard/static/src/css/dashboard.css | 4 ---- 2 files changed, 5 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 04fff6c9375..04a56d3d6ed 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -2,7 +2,6 @@ body.openerp { padding: 0; margin: 0; height: 100%; - min-width: 1000px; overflow-y: scroll; font-size: 80%; font-family: Ubuntu, Helvetica, sans-serif; diff --git a/addons/web_dashboard/static/src/css/dashboard.css b/addons/web_dashboard/static/src/css/dashboard.css index 785de7d5b6b..1ac30e905ad 100644 --- a/addons/web_dashboard/static/src/css/dashboard.css +++ b/addons/web_dashboard/static/src/css/dashboard.css @@ -315,10 +315,6 @@ margin: 0.5em 0; } -.openerp .oe_app_tiles { - width: 980px; -} - .openerp .oe_app_tiles h1, .openerp .oe_app_tiles h3 { margin: 16px 24px; color: #555 From 63296c0142468bf9cb6e3e4106164ef6ac3cab27 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 13:04:15 +0100 Subject: [PATCH 094/119] [IMP] Improved binary file display bzr revid: fme@openerp.com-20111215120415-2wwzywko3qyg0bvj --- addons/web/static/src/js/view_form.js | 9 +++++++-- addons/web/static/src/xml/base.xml | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 0e7eca43eda..607bf7b8a00 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2909,13 +2909,18 @@ openerp.web.form.FieldBinaryFile = openerp.web.form.FieldBinary.extend({ }, set_value: function(value) { this._super.apply(this, arguments); - var show_value = (value != null && value !== false) ? value : ''; + var show_value; + if (this.node.attrs.filename) { + show_value = this.view.datarecord[this.node.attrs.filename] || ''; + } else { + show_value = (value != null && value !== false) ? value : ''; + } this.$element.find('input').eq(0).val(show_value); }, on_file_uploaded_and_valid: function(size, name, content_type, file_base64) { this.value = file_base64; this.binary_value = true; - var show_value = this.human_filesize(size); + var show_value = name + " (" + this.human_filesize(size) + ")"; this.$element.find('input').eq(0).val(show_value); this.set_filename(name); }, diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index cf517fef490..c71dc5c7309 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1065,7 +1065,7 @@
- Date: Thu, 15 Dec 2011 13:07:32 +0100 Subject: [PATCH 095/119] partial rework to merge trunk bzr revid: al@openerp.com-20111215120732-is7pab5e5rsfqpj0 --- addons/web/__openerp__.py | 2 +- addons/web/common/http.py | 41 ++++++-------- addons/web/common/session.py | 3 +- addons/web/controllers/main.py | 15 +++++ addons/web/static/src/js/core.js | 96 ++++++++------------------------ 5 files changed, 55 insertions(+), 102 deletions(-) diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 74f4cdac3f7..a8dda8bcada 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -52,7 +52,7 @@ "static/src/js/view_list.js", "static/src/js/view_list_editable.js", "static/src/js/view_tree.js", - "static/src/js/view_editor.js", + "static/src/js/view_editor.js" ], 'css' : [ "static/lib/jquery.superfish/css/superfish.css", diff --git a/addons/web/common/http.py b/addons/web/common/http.py index da34b8a654e..abdd8683d0f 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -2,7 +2,6 @@ #---------------------------------------------------------- # OpenERP Web HTTP layer #---------------------------------------------------------- -import StringIO import ast import contextlib import functools @@ -88,12 +87,12 @@ class WebRequest(object): self.httpresponse = None self.httpsession = request.session self.config = config - self.session = None def init(self, params): self.params = dict(params) + # OpenERP session setup self.session_id = self.params.pop("session_id", None) or uuid.uuid4().hex - self.session = self.httpsession.setdefault(self.session_id, session.OpenERPSession(self.session_id)) + self.session = self.httpsession.setdefault(self.session_id, session.OpenERPSession()) self.session.config = self.config self.context = self.params.pop('context', None) self.debug = self.params.pop('debug', False) != False @@ -142,11 +141,10 @@ class JsonRequest(WebRequest): method = self.httprequest.method args = self.httprequest.args jsonp = args.get('jsonp', False) + requestf = None + request = None - if jsonp and args.get('r'): - # jsonp method GET - requestf = StringIO.StringIO(args.get('r')) - elif jsonp and method == 'POST': + if jsonp and method == 'POST': # jsonp 2 steps step1 POST: save call self.init(args) req.session.jsonp_requests[args.get('id')] = self.httprequest.form['r'] @@ -156,7 +154,10 @@ class JsonRequest(WebRequest): elif args['jsonp'] and args.get('id'): # jsonp 2 steps step2 GET: run and return result self.init(args) - requestf = StringIO.StringIO(self.session.jsonp_requests.pop(args.get(id), "")) + request = self.session.jsonp_requests.pop(args.get(id), "") + elif jsonp and args.get('r'): + # jsonp method GET + request = args.get('r') else: # regular jsonrpc2 requestf = self.httprequest.stream @@ -164,10 +165,15 @@ class JsonRequest(WebRequest): response = {"jsonrpc": "2.0" } error = None try: - self.jsonrequest = simplejson.loads(direct_json_request, object_hook=nonliterals.non_literal_decoder) + # Read POST content or POST Form Data named "request" + if requestf: + self.jsonrequest = simplejson.load(requestf, object_hook=nonliterals.non_literal_decoder) + else: + self.jsonrequest = simplejson.loads(request, object_hook=nonliterals.non_literal_decoder) self.init(self.jsonrequest.get("params", {})) if _logger.isEnabledFor(logging.DEBUG): - _logger.debug("[%s] --> %s.%s\n%s", rid, controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest)) + _logger.debug("--> %s.%s\n%s", controller.__class__.__name__, method.__name__, pprint.pformat(self.jsonrequest)) + response['id'] = self.jsonrequest.get('id') response["result"] = method(controller, self, **self.params) except openerplib.AuthenticationError: error = { @@ -376,21 +382,6 @@ class ControllerType(type): class Controller(object): __metaclass__ = ControllerType -class Proxy(Controller): - _cp_path = '/web/proxy' - - @jsonrequest - def load(self, req, path): - #req.config.socket_port - #if not re.match('^/[^/]+/static/.*', path): - # return werkzeug.exceptions.BadRequest() - - env = req.httprequest.environ - port = env['SERVER_PORT'] - - o = urllib.urlopen('http://127.0.0.1:%s%s' % (port, path)) - return o.read() - class Root(object): """Root WSGI application for the OpenERP Web Client. diff --git a/addons/web/common/session.py b/addons/web/common/session.py index 6947789a7b5..be1a2b749da 100644 --- a/addons/web/common/session.py +++ b/addons/web/common/session.py @@ -28,8 +28,7 @@ class OpenERPSession(object): Used to store references to non-literal domains which need to be round-tripped to the client browser. """ - def __init__(self, sid): - self.id = sid + def __init__(self): self.config = None self._db = False self._uid = False diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 81061ba5477..c286819ab86 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -242,6 +242,21 @@ class WebClient(openerpweb.Controller): "version": web.common.release.version } +class Proxy(openerpweb.Controller): + _cp_path = '/web/proxy' + + @jsonrequest + def load(self, req, path): + #req.config.socket_port + #if not re.match('^/[^/]+/static/.*', path): + # return werkzeug.exceptions.BadRequest() + + env = req.httprequest.environ + port = env['SERVER_PORT'] + + o = urllib.urlopen('http://127.0.0.1:%s%s' % (port, path)) + return o.read() + class Database(openerpweb.Controller): _cp_path = "/web/database" diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index e1591f46235..1f5e29a311a 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -362,7 +362,6 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. // be saved to (and revived from) cookies this.name = openerp._session_id; }, - bind: function(server, continuation) { if(_.isFunction(server)) { @@ -390,37 +389,12 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. this.active_id = null; this.do_load_qweb(['/web/webclient/qweb'], continuation); }, - connect: function(server, db, login, password, continuation) { var self = this; this.bind(server, function() { self.login(db, login, password, continuation); }); }, - - get_absolute_url: function(path) { - var absolute_url, - r_has_protocol = /^https?:\/\//, - r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) - - - if (r_has_protocol.test(path)) { - if (!_.str.startsWith(path, this.server + '/')) { - $.error('can only contact openerp.server'); - } - absolute_url = path; - } else if (r_absolute_internal.test(path)) { - absolute_url = this.server + path; - } else { // relative url - // XXX is it correct to mix document.location and this.server ?? - var parts = document.location.pathname.split('/'); - parts.pop(); - parts.push(path); - absolute_url = this.server + parts.join('/'); - } - return absolute_url; - }, - /** * Executes an RPC call, registering the provided callbacks. * @@ -454,7 +428,6 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }); }).then(success_callback, error_callback).promise(); }, - /** * Raw JSON-RPC call * @@ -521,7 +494,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. * The session is validated either by login or by restoration of a previous session */ on_session_valid: function(continuation) { - this.load_modules(continuation); + this.load_modules().then(function() { continuation() } ); }, on_session_invalid: function(continuation) { }, @@ -547,7 +520,9 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. //}).done(success_callback); }); }, - login: function() { this.session_authenticate.apply(this, arguments); }, + login: function() { + this.session_authenticate.apply(this, arguments); + }, /** * Reloads uid and session_id from local storage, if they exist */ @@ -628,17 +603,12 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }, /** * Load additional web addons of that instance and init them - * FIXME do all actions in sync... */ - load_modules: function(continuation) { + load_modules: function() { var self = this; - - this.module_loading.done(continuation); - //if (this.module_loading.state() !== "pending") { - if (this.module_loading.isResolved() || this.module_loading.isRejected()) { - return; + if(openerp._modules_loaded) { + return $.when(); } - this.rpc('/web/session/modules', {}, function(result) { self.module_list = result; var lang = self.user_context.lang; @@ -649,37 +619,17 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. var file_list = ["/web/static/lib/datejs/globalization/" + self.user_context.lang.replace("_", "-") + ".js" ]; - - /* - self.rpc('/web/webclient/qweblist', {mods: modules}, self.do_load_qweb); - self.rpc('/web/webclient/csslist', {mods: modules}, self.do_load_css); - self.rpc('/web/webclient/jslist', {mods: modules}, function(files) { - self.do_load_js(file_list.concat(files)); - }); - openerp._modules_loaded = true; - // */ - - self.rpc('/web/webclient/qweblist', {mods: modules}, function(files) { - self.do_load_qweb(files, function() { - // once qweb files are loaded... - self.rpc('/web/webclient/csslist', {mods: modules}, function(files) { - self.do_load_css(files, function() { - // once css files are loaded - self.rpc('/web/webclient/jslist', {mods: modules}, function(files) { - self.do_load_js(file_list.concat(files), function() { - self.on_modules_loaded(); - self.module_loading.resolve(); - }); - }); - }); - }); - }); - }); - + return $.when( + self.rpc('/web/webclient/qweblist', {mods: modules}, self.do_load_qweb), + self.rpc('/web/webclient/csslist', {mods: modules}, self.do_load_css), + self.rpc('/web/webclient/jslist', {mods: modules}, function(files) { + self.do_load_js(file_list.concat(files)); + }) + ); }); }); }, - do_load_css: function (files, callback) { + do_load_css: function (files) { var self = this; _.each(files, function (file) { $('head').append($('', { @@ -688,9 +638,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. 'type': 'text/css' })); }); - if (callback) { callback(); } }, - do_load_js: function(files, callback) { + do_load_js: function(files) { var self = this; if(files.length != 0) { var file = files.shift(); @@ -706,21 +655,18 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. var head = document.head || document.getElementsByTagName('head')[0]; head.appendChild(tag); } else { - if (callback) { callback(); } + self.on_modules_loaded(); } }, - do_load_qweb: function(files, callback) { + do_load_qweb: function(files) { var self = this; - if (files.length != 0) { var file = files.shift(); - self.rpc('/web/jsonp/static_proxy', {path: file}, function(xml) { + self.rpc('/web/proxy/load', {path: file}, function(xml) { openerp.web.qweb.add_template(_.str.trim(xml)); self.do_load_qweb(files, callback); }); - } else { - if (callback) { callback(); } - } + } }, on_modules_loaded: function() { for(var j=0; j Date: Thu, 15 Dec 2011 13:07:41 +0100 Subject: [PATCH 096/119] [FIX] res_users: side-effect of virtual groups prevented users from saving their prefs lp bug: https://launchpad.net/bugs/904626 fixed bzr revid: odo@openerp.com-20111215120741-1lne9fjs67d7c42k --- openerp/addons/base/res/res_users.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index 3a159d1c34f..10a6565d7da 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -828,8 +828,11 @@ class users_view(osv.osv): selected = values.pop(f) if selected: add.append(selected) - # remove groups in 'remove' and add groups in 'add' - values['groups_id'] = [(3, id) for id in remove] + [(4, id) for id in add] + # update values *only* if groups are being modified, otherwise + # we introduce spurious changes that might break the super.write() call. + if add or remove: + # remove groups in 'remove' and add groups in 'add' + values['groups_id'] = [(3, id) for id in remove] + [(4, id) for id in add] def default_get(self, cr, uid, fields, context=None): group_fields, fields = partition(is_reified_group, fields) From c70aa654be2bb093092f2f4bc63e7208474d5d47 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 13:27:39 +0100 Subject: [PATCH 097/119] [ADD] PageView: Added FieldBinaryFile.readonly bzr revid: fme@openerp.com-20111215122739-3lsb5wsepzhf0rbi --- addons/web/static/src/css/base.css | 6 ++---- addons/web/static/src/js/view_page.js | 24 +++++++++++++++++++++++- addons/web/static/src/xml/base.xml | 2 +- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 04a56d3d6ed..8f35d939de2 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -965,15 +965,13 @@ label.error { .openerp .field_date, .openerp .field_float, .openerp .field_selection, -.openerp .oe_form_field_many2one a, -.openerp .oe_form_field_reference a{ +.openerp a.oe_form_uri { vertical-align: middle; padding-top: 3px; font-size: 90%; color: #222; } -.openerp .oe_form_field_many2one a, -.openerp .oe_form_field_reference a { +.openerp a.oe_form_uri { color: #9A0404; line-height: 12px; } diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js index 40ca1176c79..060c95e86e3 100644 --- a/addons/web/static/src/js/view_page.js +++ b/addons/web/static/src/js/view_page.js @@ -200,6 +200,27 @@ openerp.web.page = function (openerp) { openerp.web.page.FieldOne2ManyReadonly = openerp.web.form.FieldOne2Many.extend({ force_readonly: true }); + openerp.web.page.FieldBinaryFileReadonly = openerp.web.form.FieldBinary.extend({ + template: 'FieldURI.readonly', + start: function() { + this._super.apply(this, arguments); + var self = this; + this.$element.find('a').click(function() { + if (self.value) { + self.on_save_as(); + } + return false; + }); + }, + set_value: function(value) { + this._super.apply(this, arguments); + this.$element.find('a').show(!!value); + if (value) { + var show_value = _t("Download") + " " + (this.view.datarecord[this.node.attrs.filename] || ''); + this.$element.find('a').text(show_value); + } + } + }); openerp.web.page.readonly = openerp.web.form.widgets.clone({ 'frame': 'openerp.web.page.WidgetFrameReadonly', 'char': 'openerp.web.page.FieldCharReadonly', @@ -218,6 +239,7 @@ openerp.web.page = function (openerp) { 'boolean': 'openerp.web.page.FieldBooleanReadonly', 'float': 'openerp.web.page.FieldCharReadonly', 'integer': 'openerp.web.page.FieldCharReadonly', - 'float_time': 'openerp.web.page.FieldCharReadonly' + 'float_time': 'openerp.web.page.FieldCharReadonly', + 'binary': 'openerp.web.page.FieldBinaryFileReadonly', }); }; diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index c71dc5c7309..1bfce87fb96 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -899,7 +899,7 @@ - # + # From 30373a1307a6bf8c6c51e4445d61835caf016354 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 13:35:36 +0100 Subject: [PATCH 098/119] [FIX] Use event.target instead of event.toElement bzr revid: fme@openerp.com-20111215123536-wnsbnqakjhflle7x --- addons/web/static/src/js/view_list.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 5e185ed0c3e..e00275c6496 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -821,7 +821,7 @@ openerp.web.ListView.List = openerp.web.Class.extend( /** @lends openerp.web.Lis throw "Could not find id in dataset" } var view; - if ($(e.toElement).is('.oe-record-edit-link-img')) { + if ($(e.target).is('.oe-record-edit-link-img')) { view = 'form'; } self.row_clicked(e, view); From bc2d708bcbd907fbcdeacf5c8f28575277b6535a Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 13:50:05 +0100 Subject: [PATCH 099/119] [FIX] Advanced filters date widget too big bzr revid: fme@openerp.com-20111215125005-43fat0tdjjs2vry9 --- addons/web/static/src/css/base.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 4bc0575a797..524f224bc95 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1196,9 +1196,8 @@ label.error { } .openerp .oe_datepicker_root { display: inline-block; - width: 100%; } -.openerp .oe_forms.oe_frame .oe_datepicker_root { +.openerp .oe_form_frame_cell .oe_datepicker_root { width: 100%; } .openerp .oe_input_icon_disabled { From 8ae093bf49f57507a1b32765829f0ba275c34b21 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Thu, 15 Dec 2011 14:33:05 +0100 Subject: [PATCH 100/119] move jq_ajax.js bzr revid: al@openerp.com-20111215133305-c7jgyqdes33drllk --- addons/web/__openerp__.py | 1 - addons/web/common/http.py | 1 - addons/web/static/src/js/chrome.js | 3 - addons/web/static/src/js/core.js | 181 ++++++++++++++++++++++++++++- 4 files changed, 177 insertions(+), 9 deletions(-) diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index a8dda8bcada..3767072ff9d 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -36,7 +36,6 @@ "static/lib/underscore/underscore.string.js", "static/lib/labjs/LAB.src.js", "static/lib/py.parse/lib/py.js", - "static/src/js/jq_ajax.js", "static/src/js/boot.js", "static/src/js/core.js", "static/src/js/dates.js", diff --git a/addons/web/common/http.py b/addons/web/common/http.py index abdd8683d0f..620e3a548dc 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -9,7 +9,6 @@ import logging import urllib import os import pprint -#import re import sys import threading import traceback diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 22b8ff88c37..b03c5965bf7 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1014,7 +1014,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie this._super.apply(this, arguments); var self = this; openerp.connection.bind(function() { - var params = {}; if(jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { self.$element.addClass("kitten-mode-activated"); @@ -1022,8 +1021,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie self.$element.html(QWeb.render("Interface", params)); openerp.connection.session_restore(); - - // TODO nivification of menu Widget !!! self.menu = new openerp.web.Menu(self, "oe_menu", "oe_secondary_menu"); self.menu.on_action.add(self.on_menu_action); diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 1f5e29a311a..96e38b4e4d0 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -342,6 +342,183 @@ openerp.web.CallbackEnabled = openerp.web.Class.extend(/** @lends openerp.web.Ca } }); +$.ajaxSetup({ + converters: { + "json oe-jsonp": true, + "json oe-json": true, + } +}); + +// common preconditions checks +$.ajaxPrefilter("oe-json oe-jsonp", function(options, originalOptions, jqXHR) { + if (!$.isPlainObject(options.openerp)) { + console.error(options.openerp); + $.error('"openerp" option is required.'); + } + + if (!$.isPlainObject(options.data)) { + $.error('data must not be serialized'); + } + options.processData = false; +}); + +$.ajaxPrefilter("oe-json", function(options, originalOptions, jqXHR) { + options.data = JSON.stringify({ + jsonrpc: '2.0', + method: 'call', + params: options.data, + id: _.uniqueId('browser-client-') + }); + + return 'json'; +}); + +$.ajaxPrefilter("oe-jsonp", function(options, originalOptions, jqXHR) { + + options.crossDomain = true; + + var data = null; + if (options.data) { + data = $.param({r:JSON.stringify(options.data)}); + } + + + + var max_url_length = options.max_url_length || 1000, + absolute_url, full_url; + /* + var r_has_protocol = /^https?:\/\//, + r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) + + + if (r_has_protocol.test(options.url)) { + if (!_(options.url).startsWith(options.openerp.server + '/')) { + $.error('can only contact openerp.server'); + } + absolute_url = options.url; + } else if (r_absolute_internal.test(options.url)) { + absolute_url = options.openerp.server + options.url; + } else { // relative url + var parts = document.location.pathname.split('/'); + parts.pop(); + parts.push(options.url); + absolute_url = options.openerp.server + parts.join('/'); + } + // */ + + var absolute_url = options.openerp.get_absolute_url(options.url); + + /// now, made the same url changes that jQuery will do... + var rquery = /\?/, + rts = /([?&])_=[^&]*/; + + full_url = absolute_url; + if (data) { + full_url += (rquery.test(full_url) ? "&" : "?") + data; + } + + // Add anti-cache in url if needed + if (!options.cache) { + var ts = $.now(), + // try replacing _= if it is there + ret = full_url.replace(rts, "$1_=" + ts); + + // if nothing was replaced, add timestamp to the end + full_url = ret + ((ret === full_url) ? (rquery.test(full_url) ? "&" : "?") + "_=" + ts : ""); + } + + options.url = absolute_url; + + if (full_url.length < max_url_length) { + options.type = "GET"; + options.data = data; + return "jsonp"; // classic jsonp query... + } +}); + +$.ajaxTransport("oe-jsonp", function(options, originalOptions, jqXHR) { + + var $iframe = null; + var $form = $('
') + .attr('method', 'POST') + .attr('enctype', "multipart/form-data") + .attr('action', options.openerp.server + "/web/jsonp/post") + .hide() + .appendTo($('body')) + ; + + function cleanUp() { + if ($iframe) { + $iframe.unbind("load").attr("src", "javascript:false;").remove(); + } + $form.remove(); + } + + return { + + send: function(headers, completeCallback) { + + var ifid = _.uniqueId('oe_jsonp_iframe_'); + var request_id = _.uniqueId('browser-client-'); + var oe_callback = _.uniqueId('oe_callback_'); + + window[oe_callback] = function(result) { + completeCallback(200, 'success', {json: result}); + }; + + + var display = options.openerp.debug ? 'block' : 'none'; + $iframe = $(_.str.sprintf("", ifid, ifid, display)); + + + // the first bind is fired up when the iframe is added to the DOM + $iframe.bind('load', function() { + // the second bind is fired up when the result of the form submission is received + $iframe.unbind('load').bind('load', function() { + // we cannot access the content of remote iframe. + // but we don't care, we try to get the result in any cases + + $.ajax({ + type: "GET", + url: options.url, + dataType: 'jsonp', + jsonp: false, // do not append callback=? argument on query string + jsonpCallback: oe_callback, + data: { + sid: options.openerp.session_id, + rid: request_id, + }, + }).always(function() { + cleanUp(); + }); + + }); + + + // now that the iframe can receive data, we fill and submit the form + var params = JSON.stringify(options.data); + + $form + .append($('').attr('value', options.openerp.session_id)) + .append($('').attr('value', request_id)) + .append($('').attr('value', params)) + .append($('').attr('value', oe_callback)) + .submit() + ; + + }); + + $form.attr('target', ifid) // set the iframe as target of the form + .after($iframe); // append the iframe to the DOM (will trigger the first load) + + }, + abort: function() { + cleanUp(); + }, + }; + +}); + openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.web.Connection# */{ /** * @constructs openerp.web.Connection @@ -351,10 +528,6 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. * @param {String} [port] JSON-RPC endpoint port */ init: function() { - - // FIXME need to be a real singleton. - // create more than one Connection on the same instance will not works - this._super(); this.server = null; this.debug = ($.deparam($.param.querystring()).debug != undefined); From 188615a35f0c942fa1af0d192ae0682838715280 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 14:38:00 +0100 Subject: [PATCH 101/119] [IMP] Use proper name for edit_link option bzr revid: fme@openerp.com-20111215133800-q8cypwxu7hps21ty --- addons/web/static/src/css/base.css | 4 ++++ addons/web/static/src/img/ClarkGable.jpg | Bin 0 -> 12923 bytes addons/web/static/src/js/chrome.js | 6 +++++- addons/web/static/src/js/view_list.js | 4 ++-- addons/web/static/src/js/view_list_editable.js | 2 +- addons/web/static/src/xml/base.xml | 10 +++++----- 6 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 addons/web/static/src/img/ClarkGable.jpg diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 524f224bc95..7d544f5af69 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1510,6 +1510,10 @@ label.error { .openerp.kitten-mode-activated .main_table { background: url(http://placekitten.com/g/1500/800) repeat; } +.openerp.kitten-mode-activated.clark-gable .main_table { + background: url(/web/static/src/img/ClarkGable.jpg); + background-size: 75%; +} .openerp.kitten-mode-activated .header { background: url(http://placekitten.com/g/211/65) repeat; diff --git a/addons/web/static/src/img/ClarkGable.jpg b/addons/web/static/src/img/ClarkGable.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ab1f1128d216e08864f2a2ed554d0d38592b4f18 GIT binary patch literal 12923 zcmbWdc|25Y_&bV zg23>|FhovXo~g(*QByMsbFy*@`#*jxG$R)PK*W&$9^ijH5CV}TMy623X%Yw^{?9r1 z{y%5`KPP1X0U;6zB%+uYi3Bf`1kVAIteBiO+mmsvju0Kbh1s z4cMC^PE%A;W~waFH((hq<*Zt5X1>P4ew~A(6W7_rWAm1++dQ{>1qKE03gL%_MaRU( z#qUcqha9lGia2P#JbP=c^xx>zcYxDg^9(LQ~Y^yj?Q2DD{6r|NoOY<^M|P|1IUYcn7?=|S+>^P11*2muV0Lxx zOAn^|JEnPZ0lxTKG#!7{a0=Qh{LZ3 zX4#7(|MjZf!fcF%q<^*j0|mA}_*y^e9=zRD{K}bowkXkOeU_#shLh*6M1Fy{XZUQ$ z`8J<|Y5q8xeCHR9EE%n(rrDECT@h@(09^dmMCi45;Ns65tv6^bQ8&bDkh5{0R(J+x zt-&4Q^Rv$K3ChRXo9{6YW3UU;Sw`j~8Sm6Y+WuNs9DsHDHb(0@;pW&bZQADchFlht z!&M-&kVg+Tk6=3TDdt^3*A*Qv0;e>WvJlTdHDEY^3>By6lsG!pXBJkEmh1<_k*IyZ;fTdEaya zyn!0fP@E6Gn5wCO#2fEWd0>tQRNXHnl*poro5{9k<|&N(k=e!9lHas002T00O!C1O zxPv2Hi|*F`4M6)KOIFU#GcT{m&-%RbgAq*SkW*V2h|2fF5^xeds!KbI67K@&r^%9R z+KxR#*>ZY;OgtbT{$E+jf=6OpJ%j322E9oq45*ZYj>U(Owxnc8PHPE_`P@I+mslcVbA ztV2EHIZPIlsmhmWwM)RsNxfab>K0BNj>_UAr%fz)$jwL>kSGF4mk4MB4>&eb$5FXu zr*N?qo0PkNYfAP*!^U3J0yF*G{pERpK*8mm!5W;pbM##qfmxIGu?N$X$1FsI8jR+* z_065TUcgPmWWR{`??AR(+>qc%MSUJBZJ5?xPP~xRRBnif{V0nJy4Mg@+-cD(+dc48 zFx=VnRoZtNS?9}52Z2x_Uo;Mnqsk}EzN{Ja zi^JoLzAULLC0($7ctU;3m0YouYn^1xM||SaVt-#ek5gLmUoP9dxnfkaF^NyS@ub#1 zAxtjvd*_<912d(qr((~wrwjoqWkAT5xqK*h^`HmxVvmhm5h$jAVtz#B3O3t4Lfu}8$gaPJ zqt3nly8+F9ZXVfqOze@8O44w*kHVqjH&P5Gh&Zx@0uc6v^aC16)FIRnx z@HYE$0EhBs;FRu{6+Y)Zhjrs;(DCmJfJPSj$@gcs8Md(H9Y;*iF-I1nuU$3hH-l53 zW;NcqUIb$3@v<+~L}Jgs6u;2schJv_J`NVSjmnxv4DyH@ z9gJ0<38>BtIxk)pJ(@BYgZmAJk8`Q%`#q4(O;a>**17^rq90M|oniLNT4oG!O_X`k zE&cZ1M3Ig>6{i-GtZ2Z$klYsSYA>!^1c;x6eks=S>e1{2s;A!;cv z1#>JWz$qo4)~NFdjn~1gj>u8hb$d-~O6z9tRM2C>UJ97Mgrto(ddxd3*4nzRke0}z zWjhdbm);)~u`lR@Y)K$%M7B}^2ku2VaR?Srhqu-n*d6p`k2|NV)_a+e6-rOb%MgOd zFh64<*yk$-Ry}aL#Uot4s5Zq#O7-@bqS8Ee7g)03(W*3hESL$ZHf=m;{~ta@ciGkAn`^+)wFy{|uqvPm0XQ(FxM ziX|0J7k4l<3+5HR<5EjMx)*==HX-%Kd=1ZHWse}E;g-@iNmhnaeF1M@_g)qOumDcL z7(CKc-SZuysB>PV(6J)=?Yu8~rS|^>PBZ8qv?k|jZ~6Rlh8{g|qOs*tO?!ZMxcXj} z1gYPr0sDi66z6*{bH6?LM?PrUfZ1XxY-W!+i+|qtW#Cv^`jw;fgwCKRd#X2vGphAu zC*bLp=Mw#)KR3_zei6J%?9pgBwm)a^u zmLw`^(LlDb5m(HbjY@GZA@e&K$TBAZH~7RFFFu7w4j(eC3ve=rao9Iu9Hpaww-E$1 zPY=R%)05_EJc9pkDL!Gx0lcZ0PYBk@2Enuq>@(Yrtdg!BIN^SvW{{_AJR}gZ5Ec@R zO7vsEWDkqD!=%Dv#x1+<|h8Zf{sk@jUia<~kv z`(SM-@M&#*Y(8D8Qw4%R7p|sO8Fm^2ccrrPtSM4f&0kF;^%~yT8dIU%R%|lyS z2r?pK4l|1pBog~=E%*83g+n{H;@ixozeu#mN^?%PPr%!cRbCL1Bvb@Kd;R5Tn>H?P z4BgNhdUReYnx4x?E^h#it%b7O`ZR*+m4J|~-h)K}oXdCr3f8@1NH3JL5V5a#9xuq2 z+|u~X)vii)A0EgU%0B#AeLUj?Tfn8{)Nygr7Of~$4$0{PE~y{@W{DX-YEj5MSu(fe zc<(Gvr`ozgpzK|T+uxvpRH-XYlOoVOtRfOXr@`o zR*p8Ylsr}wnDc?JEWD*|j*H#*5D7sjF3}&B%IbFgUViBDl_z)6igu0sLY+_H#fM;Y z&UwsdTAcF&IowYy<~?A<e2??_(1dt z;X4qCop24Q`+=`>rCL*eiP$wrV)wA_zqOq87JnJ&JWtfX;?Jk7(AEo@n&`>yc;_dk zW#HKDMRvW|gAq0+K#12#NhGhDyjV%lU3RwyVJ>ab5`oOehS-(39zsp;(#eg6M}&sD z@$CkJ2e`x$`%AiIM3wtO;P2iCPP@z*QctLb6AIfRluL<>kRm@T?GJ{CjtWTj0tM_A z?SepMFFzZM<(=I2FuAyodL*X^Ts89oY1!B5Y5|3*ciAZU)m|3TP}gRQO4dhSAOCjC zy#Melk8&Cr`8;s}DKgy_~hH?&zQwc?_`ce;=zPQ%85_>>Q#{ zq{}kPfi15=ykpc;y`>iQg?&p4J;=rTD7<90~F^8}yc2ULgwE3dU4woI5Q*V)&JF#x3p zTVb1;wuL#)-PKjI%iQiqi*{juIWFQp8CB+pP93&>==wrWL^LTJE&@*`pI&?Q(Pb02 z@80x$P2uB??7%YZ?2yp5FhA`GV-`YTfcd+9;9iV7V%tr?mTXbwD-SmC2p7rOih;jt zv@~65@oPVB0Neanva+Prq1fqf1DJC4;R8h^t40>Vq+V4AGyUV(QnNi}^hUA;c*|$; zB!RQWr|Dljovj=9QEc+5aH&0lg7XG(p}AfAsgE*0IJuBA#{$2W&@6gbd9@&9=Z+3j zOnKt77-&5bC@}Geg79yhyYIaMmkFWvGbeM+xkS)j*XOrq^Lo=W-?xBdE0Lm(Fy!0n zid{brN`mcKs5<%~ailPF&gAJey`aV)6~VeeT0y05?fb61xNuhA?Q7Koo9T`7Kei+zB#$fJ=jQ>@^U_x#k2r|;rN{e4I{GAt^sO$(3>DJ1QlDF?kgV>K z`An%P-9es?`bJGt*IT?geNzFdw)N!2xf@$e*j$g3k>lvgmFpufa^oDcusxcbjym5_ zZjr(p4ZTfn=;v+Qb^|`JjE`;so5Jdcz3CYu{g@)JrR2{J`qUnZ70p44sku)DWW^5H zcnAYbu4Fc?%{^l} zRP&GPwbedF$h?(e3xjTW-Yp{FI=~6XCErkI!^=CW!JY-c{^FdUS)fsa@mtMt((4xB z@J(?r%9SD(hH}pu^9c@kAl3!U>F$Khcu+|hN1IQm>_El{^*o&=0l}>-f*p%smXUA@ zLjThVKgtP9(*j$7{DCJHzfxGTT`&66s?*p5?QLJLeA8GVs*VY)ri97Mr(_+ti_z?LBdP3MPj=_+ z^wOMGdpujC^%!krsiSvQFtTF=#QiAOIolkp96p#>L_WHEc-f$IQ$MzAA~j@;?|1B7 zR(|>hW~tbb`;RxhMLVpjHYT41oU3KP;3O(hLjxMY8T&g8!=+!od|f31)N+Bi8)Yz%oR210zA18#Ru z-dlU5T!*B#Uh`lL;u<>iMRk76s#oD?OksBL)^9nw8KR zdzmghimH0W)R+9?kgtHyv7I?mYGRa`*!m{@#QH>5_ty(es)}`gu~b9cKJ8muNw{_W0~_zq zg2}79!FQZ`M$tc2ND`A`A%CZ->Wy;1 zpKqv)Z*$0@wBPSe*i1h-6@2vN(kv$uPkTz?aiDoOk5Aa{Zvu8?TeAo?M}o7so@y(X zZUE8$Rw)mYKvb_Vz@cmT+SuY^><2EnF8pGpmOLWQlIqGclDqsZf7 z@d`qd5;ptVMfEhc!bncu@XE$10hgb*@s48euM)a39z0dCv^{X*=?22epI)ZXl~(tf zRFW-R`5!eab&j;_W3cRjHJ2Dz(T`du^4N_SSc6kMWNN_SGA*6mKXB?x#{G;GNucu` zUw4W@&vGF-Zq9{2k#+&CPs>zdKX995x*phMx~@A?-EOwRIEh6Fe#K7Z`Y*i>x0$Kr z=HKq$zRJ#D3JeBd2BQQ_!8?^p;WQ)TXxoz3s4gU`=ha(DMTx?HPcC^$nsUu^a%S&9 zgL3W%m`*d;CAQy{3)JtATE&+6zq-2OlE72Y&U|-AQR39ilPArnje5H3)N-R^7skU^ zHDs>d@~zduDDBFwonterKf9)}i`SG}XN(*z`N*Y|@5nnN^o#eU)qbrhICH!x#9&e_ zIdi>=8FkH?QeGiWE|z4A7lFM)*-`|-F-Yy8I0X^Pq?IEmHIYY(Xx=6sVZ?A5SqsVUNKu3Ig3Z15cz zvhIBMN~6Ye#gb>WbgJip=kJ8el(bBjf3G@AHtjDIes~^6^2)r)Guh$=f*yX&Lm8E? zOY2xt0C#ve7>N1F7m*(w4L_rhQ!VHqiL|dKGJg~-IYQJ+ruO!Zyf;SoI*KB4SjYtJq5} zsZ|odlHU!LW&j?c7vSWZx(v|Mz$2|Fw5%5q*YgPST?D#_=y^s&jQ{owlRda=1Y1H7 zoC(R`c#uYZh%Hf@pOk)UQ_~#%Y*Z3el<<(PFD0tqI@)HCgQkpImFw~JR}UP}OawQs z4U0?~1v-I@^etI^EtV#~dS!8;p0AUZJJZf*)x}#K=58B@s`pB+=wofy+NL?-u6{J& zNu};74Y~2E;T3yXw>(9sf|sbQwyp8|>^=Iu)TCqq@F}~TD<3-&3ft$RT~}%6hHp1< zda==I_Y=I`?i1> zqQa6)16VBa2o){Be3h2U#tp`dfb13uL~R-@<+tdf2}xS>K_Hh}YUM#t^cIrLPT(Yc zOvQ7Q0ZyYh;%($t1P)H2vOYRKFFS}av05U^nSt$h&m~TF^l3<6Di`arX@6zD>n-J@ zYu-jw)GmF|g=De2OX}@2%=BqSWS8;sHZyxvY48kWRSP`ReeTDWvbD1fafzi)Zd`H3 zNFjNsT#)s9>(kayg!qd7yTz?ieB`qd%Vfuw53@E9^yQBnipI& zaqrOXogbYu)!h>9Rn$UY{1g$T2XHaS~EkzO$MIz!j#v^(|8fvwkJAtBU ztk;W-D&y2rKMIGM@#_a9Zz>OVJ|1+^&D}o%NfFwJ_xy?lz%`CxQ1=~|Y@Y2?Si?wPnt2sf_GR^oy>RyL5B8;YySc7Y%yy2rV8|g z&TpO=w>$s6Y8gSN{^qA$sI&9uT)ZZx0p(ikL zs(wbGkmR2G`X$y(TcJ}^lwhFu{o%?)rVl#VByc99hc5)FR+BglU{9Lb+l@r8~f4F{42K{OIvY zV7~-728}XD1d<^jA`oK{6&JwfW4tW>@)ZU8wll}4V#jA8go(;c-)4Ee{w`lRXLWD( z!7#A8rtFB?cMfvz?E;XUJ1Ti+U?d~ynOe>Ss=iK1_I0EFQGrJfW~5{Ex>H$DMB?j3 zb!(o~qHoRays5I2nO3LS*!S6p8Nc<@Ms*jiwUbwXk&(jeP9bT_?Zam~4Fz(mZEC1J zHRk}m$51Ji*rlCYit$JlTDlxWD-1Y6^&4M-47K-}V#6cp8{ILJD{*(a8bTWWUh5U$ zW!s}rnR@tY zNR1OU#g{MQ%o*Had8AS4E5E@{9FeI&=qN-#BrrfnsR?_RRbCz{n^lKXE@x!6EpogZ z`;20~Y{~hs%5v}BC-oISLM4b5oR3V}J0X#EN1BYS%Fow9*Qh78XrDyrc$V!r+UhLl zQXj-?8W1qO($j-|o^{u@IYgX0Yk9PU?7zGw-RM%k*|hci;X5Yb0TiCpwj5Xc-0&JC zPPG~nFSRUCjB4Z1^Cm$2xXXR+$uRD)oByl)#}Hosg^^i=hJUq)&)xj$d_HG4ZyaR1 zI;bzz?~A=veKu$H51YnxPV86Yc4;7c)&n6E-H~^dK$i_`J^2wx?z-RqhRRhE)riAzdwEo?#3JgJ9_Q^nF2YxfdD8lFZ>7W)jQR z1;uf|%ZmP?_hm4F>SN52)v)_^*m?}6xihI~M|ebV?OB7gPG@Fk)dZ?>{=$cxk1Bh; zwfYx8+`9RX?t~W%&3da%WD6#r7}s9 z##(zURqS>21sTgx`4^2>M_fKI1AJPdGy4$hyR~99g4`}gYe}u@N+ls4Gkfi@NJLlw zjm{EWhK4o2O65kcc<DQp^VpmG$5E;1uVOg)LDcf=1sQ`m zsnhr}-G_BeNDpSA?)$5MhI{jc&MBaJ^43scR`~5GZopm^AY(+7!hvO%WGljM7#bSN3%S(Jlj3$?Vwtp zb$li)Es%L-IMS9Ir(g5bpw@9S%|4dIQ(P*a%T?|o(m)PN_U7Bd==i$=^`q|y*{v?2 z0*xJN?m)7e0|p@``HWLQQm8;@Pbk8&60x0eiPZ}rriT#b7nL~C@;<9RdP&0}#};Sb zlFwNePU(gpa62gxtN7sczvp@|c5RZ&U*l`?V*Dm?KOXrYOBpEwYPq)Rmw;@;gBvM! z-&=rZ&6CfO@(0lH$0i$)y)~1k69#l12+zo|2)ZbB5kwO(8ek!los*rptt~#(VBKn5 z+E!$>fqdzhMY0#NI`z_dl$hXlGZxA{P@WML9B&c+f*sLRL-f4 zEu}@X*WF{9gHl!DZu=E)02|pT?Tr`Uaq+7@aG=pa$~Cn&>Zi+V_)uY#pi~& z-xp3TdsKHTEADlbZv4xhLWP$R<{Z$(4O|~s1~_MUh+4NqMCK8WSZ288_Wec@*-bOK zfe)uCb-1HFTkpDB9@;98iUAfb2A5An#d|O{ab?{U3m#=V%;-uAhT#>fw_WIdm3(J@ z?fh*t4*YW|SS!VZI>u*q>?>)m-+npf$LwuqmbLX^NN2X)d_zl&$4UOxldw^ey23(4 z3W1qXyod}Y`JkHthTm7Qh_#a+65{@uKA)Qzoxw9Pd6nUgtoIx6 z1BG%%@bK?z`*2EDKKMHUmxvp!)XwuDKK`?n@<-2X`}du5BoDoo-9hilh|FR>SU!%5 zqmt2i0+b;68fs4Jz#+9s7C|Qg4-g>}XxbtigoPppL<<+YXA+ZtnN51uo{5*LGK+ZE zN9@N8|NL$GrWQDkX7iCxR?U*LBGNiP5!(rNuhNUi1}?CApdB8;B~LF8+Y!`Hj{4$y zTFImN8a>$9rUt7j);V2QEf3SP6c!)oH%c9%uI2Uo_7FIhwDl zaPpyLkkJG^t5;jIluwOvkUPQtrR(3;?aJM=GJRvutBe@sneVux%otz!>=*d&LI2bCP=%y zc=5(|Kkc@0#{@UtKy4b@aFQXt77U88fo`pvaV^i6TM~ z$UFyyjQxUw!SA^LPZ1&{!DWdMXqAh_nnn$v0dZX7_SOr#OO14nh7S*M+uLEP@&eE5 zMA~(SyhHaQIXS9osncuUp~~|1%Nv@#OB~<*^z>T*zb+BvJM@akW(;tC16WxJ3=YN$12x7^H>sapz0w>0oGz`@O5%F`_x%Xb)up`{J))| zv5+W~3~i32vlwa#z{La7%F=`tOV&Wv5N!U+Mx|SwYJs*l z50o(A$by^jzk-+Q=)0Fi+-CRm&89*lxd4Nlaa6t8Ogvg<-(%b93TA{X#$SvoA6s6Y zZZ`8I32rU`TSjvrwc{hK5y2gnjJyyWeaWE|t47 z0uad)ME~uYeGAZ5-2h?+6#5#?UJOT;(G?E|%94U&DpgP81zn=RVu89Go&&rz|zZ2muEr73VpXB?=)3UCPh8&1YVAPAq z2Ll%wAkC$kiTlIw27BU84C+3d1Q&(CNFk1r`G5m>KnyJEj#!fO_C!#o@YG>4HBP|bb(i#TH2ZxIm(FPC6;2}cbx?g0B+rc>u*p#b* z2T|BETKqtW<$w|)uoS^%MxlzF-yO?V9I9v^dpP$NRnIroo4j0Y%zqW6LekC93yf1*4qI?&X|qb8^6zxm6G^0#r+&ndJk)G+~fw5biyJNC%7y?l8Fp#Cvru%@BX z6frfH%v+cX4Y4Uy-AwT9NBtT4{Fgd7P?Xh}-EBD)|0g4U=cMLh3Tm4`TXRrJe^j=L z15RWLYQ5XdzU>sPy8v#0K)32j9 zPJX&}?lt$Idve;nU(-lWu{no&v@fQOL49S6>guB)>@E5ugkpO#GpFb z>L^%C8m~F)@}e>%@c4;KDu(XLcP>GjdW#;Wfj#BKXP8AYF}dw^+g!Bf<2)5hnmsh4 zH(%M_3*bK^%2N@fo1*kE;6HOwn zq=i+W!7myVoEh)}?8VRvb2uM*2Ol1;0cS4})+Y?~#}=5Td*q<%v87W3FPA-;wsxA? zR7P0lBonNak&1d&>>YX*Y54g0u0i8@@+UsHo*wj#bj~zHPe}3{%-Sz9CHh?Z`sT6Q zCq5}iDxVH>3Di4oC-mdiAbmeIHACyZKmSkmzD3!ShyDLw+1WTb2W_@yAsO(M4^Ph>0hP}mOFaBMqOpBbo`K}V7@t`AHZi7D z=foeQ*a)|}asq$G;ilK4f!LR?5?hu%15t#Pibs>ypL3mA^gbShpS02Ur?Q8pPtl#C} zzP5Jf4|mU{fiQ*HOR{$Jlq`o^sYhkrC(T`wJ|Iogejx*#6`#vRM=Wb z4TXh_avwc15khwuB4HkZ7lmDOrAb_jj444wfk{QW7BGhvA=Q3ZskH#&qMh&vJopDb z^6Z;+ZQ}+_`e7Z+(sIY4`r0i1FXQ1vO&2?jCtuvl3mN{=WCqz@zw9ytC>1yR^m2JIZ0_z-4sm6%)!jUqO=5?XkEdcutG z@Sn{}YyVex(J6!~Uv-IK%JtivvHv%uv=>8)WeiSg!xwc*B4A3DfCYz{OJS6Rj+xhk zN!CDPqA!L~h_XCnWVxgkB8|i>C#cx3IYnDPvOg z0Zu2yoQl8t;&b}ApPJ^Em4T@I<714HhmTcZH$E(`_<-x7JqZ+%=ukAhQZ?T{wYty8loX;Y5cCwVcSs$*X`#wm5o!QK1fC z1q-3#q!s{RIGKQg)5Hiww7HD~Ll+E_Ed&~L*~Q?=L$X-Vh9rc3`Yh1K!9LdP7bFKU zvx1JlkNT4dc6wrPzGc&vEdDdYaHnq75RHOy5{T4_j%*RCDWypT}l~QXDjHT#}g#7;CMxH$dMJnw5Gr- z2P-FLMT(3ah@7m>N!=xzlyQQOjZuD6XM>>rqWw>i;+nIYY!%~vd?7Y;vwsULqRxGr zGdz;Xsr(fbFWc^$ApSCiOU$N|O;G*BM|pF7^_(^Opc~$0Qbb9@T@% zKeUFVEA{yKa)NRf z15Nj5eBYeh)S0KUipl0u4YGAYZlCEza*fmDc0zJlj%mWh=}8A={s_Jqd@Vl|@VDAm f!z0yd2m7cW8njN!4gZ>$uQ}yrq2i#q@Z$dgyP-!x literal 0 HcmV?d00001 diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 0af03606713..bea93a9ec7b 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -998,12 +998,16 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie * @param element_id */ init: function(element_id) { + var self = this; this._super(null, element_id); openerp.webclient = this; var params = {}; - if(jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { + if (jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { this.$element.addClass("kitten-mode-activated"); + this.$element.delegate('img.oe-record-edit-link-img', 'hover', function(e) { + self.$element.addClass('clark-gable'); + }); } this.$element.html(QWeb.render("Interface", params)); diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index e00275c6496..c5e61bd4094 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -19,7 +19,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# // whether the view rows can be reordered (via vertical drag & drop) 'reorderable': true, // display an edit icon linking to form view - 'edit_link': true + 'isClarkGable': true }, /** * Core class for list-type displays. @@ -893,7 +893,7 @@ openerp.web.ListView.List = openerp.web.Class.extend( /** @lends openerp.web.Lis if (this.options.selectable) { cells.push('
'); } - if (this.options.edit_link) { + if (this.options.isClarkGable) { cells.push(''); } _(this.columns).each(function(column) { diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index 50a3028d837..453536f7ec6 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -250,7 +250,7 @@ openerp.web.list_editable = function (openerp) { if (self.options.selectable) { $new_row.prepend(''); } - if (self.options.edit_link) { + if (self.options.isClarkGable) { $new_row.prepend(''); } // pad in case of groupby diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 503e6ac3318..47e0bdfe44a 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -567,7 +567,7 @@
- + - + @@ -668,7 +668,7 @@ - @@ -1424,7 +1424,7 @@ -->
@@ -596,7 +596,7 @@ @@ -610,7 +610,7 @@
- + + - + From d74ab977fbf143d3714bd72ba18d8b74252f910d Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 15:01:49 +0100 Subject: [PATCH 102/119] [REM] Removed clark bzr revid: fme@openerp.com-20111215140149-6ygw2ublnr8pzg5e --- addons/web/static/src/css/base.css | 4 ++-- addons/web/static/src/img/ClarkGable.jpg | Bin 12923 -> 0 bytes 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 addons/web/static/src/img/ClarkGable.jpg diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 7d544f5af69..f273e64596c 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1511,8 +1511,8 @@ label.error { background: url(http://placekitten.com/g/1500/800) repeat; } .openerp.kitten-mode-activated.clark-gable .main_table { - background: url(/web/static/src/img/ClarkGable.jpg); - background-size: 75%; + background: url(http://amigrave.com/ClarkGable.jpg); + background-size: 100%; } .openerp.kitten-mode-activated .header { diff --git a/addons/web/static/src/img/ClarkGable.jpg b/addons/web/static/src/img/ClarkGable.jpg deleted file mode 100644 index ab1f1128d216e08864f2a2ed554d0d38592b4f18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12923 zcmbWdc|25Y_&bV zg23>|FhovXo~g(*QByMsbFy*@`#*jxG$R)PK*W&$9^ijH5CV}TMy623X%Yw^{?9r1 z{y%5`KPP1X0U;6zB%+uYi3Bf`1kVAIteBiO+mmsvju0Kbh1s z4cMC^PE%A;W~waFH((hq<*Zt5X1>P4ew~A(6W7_rWAm1++dQ{>1qKE03gL%_MaRU( z#qUcqha9lGia2P#JbP=c^xx>zcYxDg^9(LQ~Y^yj?Q2DD{6r|NoOY<^M|P|1IUYcn7?=|S+>^P11*2muV0Lxx zOAn^|JEnPZ0lxTKG#!7{a0=Qh{LZ3 zX4#7(|MjZf!fcF%q<^*j0|mA}_*y^e9=zRD{K}bowkXkOeU_#shLh*6M1Fy{XZUQ$ z`8J<|Y5q8xeCHR9EE%n(rrDECT@h@(09^dmMCi45;Ns65tv6^bQ8&bDkh5{0R(J+x zt-&4Q^Rv$K3ChRXo9{6YW3UU;Sw`j~8Sm6Y+WuNs9DsHDHb(0@;pW&bZQADchFlht z!&M-&kVg+Tk6=3TDdt^3*A*Qv0;e>WvJlTdHDEY^3>By6lsG!pXBJkEmh1<_k*IyZ;fTdEaya zyn!0fP@E6Gn5wCO#2fEWd0>tQRNXHnl*poro5{9k<|&N(k=e!9lHas002T00O!C1O zxPv2Hi|*F`4M6)KOIFU#GcT{m&-%RbgAq*SkW*V2h|2fF5^xeds!KbI67K@&r^%9R z+KxR#*>ZY;OgtbT{$E+jf=6OpJ%j322E9oq45*ZYj>U(Owxnc8PHPE_`P@I+mslcVbA ztV2EHIZPIlsmhmWwM)RsNxfab>K0BNj>_UAr%fz)$jwL>kSGF4mk4MB4>&eb$5FXu zr*N?qo0PkNYfAP*!^U3J0yF*G{pERpK*8mm!5W;pbM##qfmxIGu?N$X$1FsI8jR+* z_065TUcgPmWWR{`??AR(+>qc%MSUJBZJ5?xPP~xRRBnif{V0nJy4Mg@+-cD(+dc48 zFx=VnRoZtNS?9}52Z2x_Uo;Mnqsk}EzN{Ja zi^JoLzAULLC0($7ctU;3m0YouYn^1xM||SaVt-#ek5gLmUoP9dxnfkaF^NyS@ub#1 zAxtjvd*_<912d(qr((~wrwjoqWkAT5xqK*h^`HmxVvmhm5h$jAVtz#B3O3t4Lfu}8$gaPJ zqt3nly8+F9ZXVfqOze@8O44w*kHVqjH&P5Gh&Zx@0uc6v^aC16)FIRnx z@HYE$0EhBs;FRu{6+Y)Zhjrs;(DCmJfJPSj$@gcs8Md(H9Y;*iF-I1nuU$3hH-l53 zW;NcqUIb$3@v<+~L}Jgs6u;2schJv_J`NVSjmnxv4DyH@ z9gJ0<38>BtIxk)pJ(@BYgZmAJk8`Q%`#q4(O;a>**17^rq90M|oniLNT4oG!O_X`k zE&cZ1M3Ig>6{i-GtZ2Z$klYsSYA>!^1c;x6eks=S>e1{2s;A!;cv z1#>JWz$qo4)~NFdjn~1gj>u8hb$d-~O6z9tRM2C>UJ97Mgrto(ddxd3*4nzRke0}z zWjhdbm);)~u`lR@Y)K$%M7B}^2ku2VaR?Srhqu-n*d6p`k2|NV)_a+e6-rOb%MgOd zFh64<*yk$-Ry}aL#Uot4s5Zq#O7-@bqS8Ee7g)03(W*3hESL$ZHf=m;{~ta@ciGkAn`^+)wFy{|uqvPm0XQ(FxM ziX|0J7k4l<3+5HR<5EjMx)*==HX-%Kd=1ZHWse}E;g-@iNmhnaeF1M@_g)qOumDcL z7(CKc-SZuysB>PV(6J)=?Yu8~rS|^>PBZ8qv?k|jZ~6Rlh8{g|qOs*tO?!ZMxcXj} z1gYPr0sDi66z6*{bH6?LM?PrUfZ1XxY-W!+i+|qtW#Cv^`jw;fgwCKRd#X2vGphAu zC*bLp=Mw#)KR3_zei6J%?9pgBwm)a^u zmLw`^(LlDb5m(HbjY@GZA@e&K$TBAZH~7RFFFu7w4j(eC3ve=rao9Iu9Hpaww-E$1 zPY=R%)05_EJc9pkDL!Gx0lcZ0PYBk@2Enuq>@(Yrtdg!BIN^SvW{{_AJR}gZ5Ec@R zO7vsEWDkqD!=%Dv#x1+<|h8Zf{sk@jUia<~kv z`(SM-@M&#*Y(8D8Qw4%R7p|sO8Fm^2ccrrPtSM4f&0kF;^%~yT8dIU%R%|lyS z2r?pK4l|1pBog~=E%*83g+n{H;@ixozeu#mN^?%PPr%!cRbCL1Bvb@Kd;R5Tn>H?P z4BgNhdUReYnx4x?E^h#it%b7O`ZR*+m4J|~-h)K}oXdCr3f8@1NH3JL5V5a#9xuq2 z+|u~X)vii)A0EgU%0B#AeLUj?Tfn8{)Nygr7Of~$4$0{PE~y{@W{DX-YEj5MSu(fe zc<(Gvr`ozgpzK|T+uxvpRH-XYlOoVOtRfOXr@`o zR*p8Ylsr}wnDc?JEWD*|j*H#*5D7sjF3}&B%IbFgUViBDl_z)6igu0sLY+_H#fM;Y z&UwsdTAcF&IowYy<~?A<e2??_(1dt z;X4qCop24Q`+=`>rCL*eiP$wrV)wA_zqOq87JnJ&JWtfX;?Jk7(AEo@n&`>yc;_dk zW#HKDMRvW|gAq0+K#12#NhGhDyjV%lU3RwyVJ>ab5`oOehS-(39zsp;(#eg6M}&sD z@$CkJ2e`x$`%AiIM3wtO;P2iCPP@z*QctLb6AIfRluL<>kRm@T?GJ{CjtWTj0tM_A z?SepMFFzZM<(=I2FuAyodL*X^Ts89oY1!B5Y5|3*ciAZU)m|3TP}gRQO4dhSAOCjC zy#Melk8&Cr`8;s}DKgy_~hH?&zQwc?_`ce;=zPQ%85_>>Q#{ zq{}kPfi15=ykpc;y`>iQg?&p4J;=rTD7<90~F^8}yc2ULgwE3dU4woI5Q*V)&JF#x3p zTVb1;wuL#)-PKjI%iQiqi*{juIWFQp8CB+pP93&>==wrWL^LTJE&@*`pI&?Q(Pb02 z@80x$P2uB??7%YZ?2yp5FhA`GV-`YTfcd+9;9iV7V%tr?mTXbwD-SmC2p7rOih;jt zv@~65@oPVB0Neanva+Prq1fqf1DJC4;R8h^t40>Vq+V4AGyUV(QnNi}^hUA;c*|$; zB!RQWr|Dljovj=9QEc+5aH&0lg7XG(p}AfAsgE*0IJuBA#{$2W&@6gbd9@&9=Z+3j zOnKt77-&5bC@}Geg79yhyYIaMmkFWvGbeM+xkS)j*XOrq^Lo=W-?xBdE0Lm(Fy!0n zid{brN`mcKs5<%~ailPF&gAJey`aV)6~VeeT0y05?fb61xNuhA?Q7Koo9T`7Kei+zB#$fJ=jQ>@^U_x#k2r|;rN{e4I{GAt^sO$(3>DJ1QlDF?kgV>K z`An%P-9es?`bJGt*IT?geNzFdw)N!2xf@$e*j$g3k>lvgmFpufa^oDcusxcbjym5_ zZjr(p4ZTfn=;v+Qb^|`JjE`;so5Jdcz3CYu{g@)JrR2{J`qUnZ70p44sku)DWW^5H zcnAYbu4Fc?%{^l} zRP&GPwbedF$h?(e3xjTW-Yp{FI=~6XCErkI!^=CW!JY-c{^FdUS)fsa@mtMt((4xB z@J(?r%9SD(hH}pu^9c@kAl3!U>F$Khcu+|hN1IQm>_El{^*o&=0l}>-f*p%smXUA@ zLjThVKgtP9(*j$7{DCJHzfxGTT`&66s?*p5?QLJLeA8GVs*VY)ri97Mr(_+ti_z?LBdP3MPj=_+ z^wOMGdpujC^%!krsiSvQFtTF=#QiAOIolkp96p#>L_WHEc-f$IQ$MzAA~j@;?|1B7 zR(|>hW~tbb`;RxhMLVpjHYT41oU3KP;3O(hLjxMY8T&g8!=+!od|f31)N+Bi8)Yz%oR210zA18#Ru z-dlU5T!*B#Uh`lL;u<>iMRk76s#oD?OksBL)^9nw8KR zdzmghimH0W)R+9?kgtHyv7I?mYGRa`*!m{@#QH>5_ty(es)}`gu~b9cKJ8muNw{_W0~_zq zg2}79!FQZ`M$tc2ND`A`A%CZ->Wy;1 zpKqv)Z*$0@wBPSe*i1h-6@2vN(kv$uPkTz?aiDoOk5Aa{Zvu8?TeAo?M}o7so@y(X zZUE8$Rw)mYKvb_Vz@cmT+SuY^><2EnF8pGpmOLWQlIqGclDqsZf7 z@d`qd5;ptVMfEhc!bncu@XE$10hgb*@s48euM)a39z0dCv^{X*=?22epI)ZXl~(tf zRFW-R`5!eab&j;_W3cRjHJ2Dz(T`du^4N_SSc6kMWNN_SGA*6mKXB?x#{G;GNucu` zUw4W@&vGF-Zq9{2k#+&CPs>zdKX995x*phMx~@A?-EOwRIEh6Fe#K7Z`Y*i>x0$Kr z=HKq$zRJ#D3JeBd2BQQ_!8?^p;WQ)TXxoz3s4gU`=ha(DMTx?HPcC^$nsUu^a%S&9 zgL3W%m`*d;CAQy{3)JtATE&+6zq-2OlE72Y&U|-AQR39ilPArnje5H3)N-R^7skU^ zHDs>d@~zduDDBFwonterKf9)}i`SG}XN(*z`N*Y|@5nnN^o#eU)qbrhICH!x#9&e_ zIdi>=8FkH?QeGiWE|z4A7lFM)*-`|-F-Yy8I0X^Pq?IEmHIYY(Xx=6sVZ?A5SqsVUNKu3Ig3Z15cz zvhIBMN~6Ye#gb>WbgJip=kJ8el(bBjf3G@AHtjDIes~^6^2)r)Guh$=f*yX&Lm8E? zOY2xt0C#ve7>N1F7m*(w4L_rhQ!VHqiL|dKGJg~-IYQJ+ruO!Zyf;SoI*KB4SjYtJq5} zsZ|odlHU!LW&j?c7vSWZx(v|Mz$2|Fw5%5q*YgPST?D#_=y^s&jQ{owlRda=1Y1H7 zoC(R`c#uYZh%Hf@pOk)UQ_~#%Y*Z3el<<(PFD0tqI@)HCgQkpImFw~JR}UP}OawQs z4U0?~1v-I@^etI^EtV#~dS!8;p0AUZJJZf*)x}#K=58B@s`pB+=wofy+NL?-u6{J& zNu};74Y~2E;T3yXw>(9sf|sbQwyp8|>^=Iu)TCqq@F}~TD<3-&3ft$RT~}%6hHp1< zda==I_Y=I`?i1> zqQa6)16VBa2o){Be3h2U#tp`dfb13uL~R-@<+tdf2}xS>K_Hh}YUM#t^cIrLPT(Yc zOvQ7Q0ZyYh;%($t1P)H2vOYRKFFS}av05U^nSt$h&m~TF^l3<6Di`arX@6zD>n-J@ zYu-jw)GmF|g=De2OX}@2%=BqSWS8;sHZyxvY48kWRSP`ReeTDWvbD1fafzi)Zd`H3 zNFjNsT#)s9>(kayg!qd7yTz?ieB`qd%Vfuw53@E9^yQBnipI& zaqrOXogbYu)!h>9Rn$UY{1g$T2XHaS~EkzO$MIz!j#v^(|8fvwkJAtBU ztk;W-D&y2rKMIGM@#_a9Zz>OVJ|1+^&D}o%NfFwJ_xy?lz%`CxQ1=~|Y@Y2?Si?wPnt2sf_GR^oy>RyL5B8;YySc7Y%yy2rV8|g z&TpO=w>$s6Y8gSN{^qA$sI&9uT)ZZx0p(ikL zs(wbGkmR2G`X$y(TcJ}^lwhFu{o%?)rVl#VByc99hc5)FR+BglU{9Lb+l@r8~f4F{42K{OIvY zV7~-728}XD1d<^jA`oK{6&JwfW4tW>@)ZU8wll}4V#jA8go(;c-)4Ee{w`lRXLWD( z!7#A8rtFB?cMfvz?E;XUJ1Ti+U?d~ynOe>Ss=iK1_I0EFQGrJfW~5{Ex>H$DMB?j3 zb!(o~qHoRays5I2nO3LS*!S6p8Nc<@Ms*jiwUbwXk&(jeP9bT_?Zam~4Fz(mZEC1J zHRk}m$51Ji*rlCYit$JlTDlxWD-1Y6^&4M-47K-}V#6cp8{ILJD{*(a8bTWWUh5U$ zW!s}rnR@tY zNR1OU#g{MQ%o*Had8AS4E5E@{9FeI&=qN-#BrrfnsR?_RRbCz{n^lKXE@x!6EpogZ z`;20~Y{~hs%5v}BC-oISLM4b5oR3V}J0X#EN1BYS%Fow9*Qh78XrDyrc$V!r+UhLl zQXj-?8W1qO($j-|o^{u@IYgX0Yk9PU?7zGw-RM%k*|hci;X5Yb0TiCpwj5Xc-0&JC zPPG~nFSRUCjB4Z1^Cm$2xXXR+$uRD)oByl)#}Hosg^^i=hJUq)&)xj$d_HG4ZyaR1 zI;bzz?~A=veKu$H51YnxPV86Yc4;7c)&n6E-H~^dK$i_`J^2wx?z-RqhRRhE)riAzdwEo?#3JgJ9_Q^nF2YxfdD8lFZ>7W)jQR z1;uf|%ZmP?_hm4F>SN52)v)_^*m?}6xihI~M|ebV?OB7gPG@Fk)dZ?>{=$cxk1Bh; zwfYx8+`9RX?t~W%&3da%WD6#r7}s9 z##(zURqS>21sTgx`4^2>M_fKI1AJPdGy4$hyR~99g4`}gYe}u@N+ls4Gkfi@NJLlw zjm{EWhK4o2O65kcc<DQp^VpmG$5E;1uVOg)LDcf=1sQ`m zsnhr}-G_BeNDpSA?)$5MhI{jc&MBaJ^43scR`~5GZopm^AY(+7!hvO%WGljM7#bSN3%S(Jlj3$?Vwtp zb$li)Es%L-IMS9Ir(g5bpw@9S%|4dIQ(P*a%T?|o(m)PN_U7Bd==i$=^`q|y*{v?2 z0*xJN?m)7e0|p@``HWLQQm8;@Pbk8&60x0eiPZ}rriT#b7nL~C@;<9RdP&0}#};Sb zlFwNePU(gpa62gxtN7sczvp@|c5RZ&U*l`?V*Dm?KOXrYOBpEwYPq)Rmw;@;gBvM! z-&=rZ&6CfO@(0lH$0i$)y)~1k69#l12+zo|2)ZbB5kwO(8ek!los*rptt~#(VBKn5 z+E!$>fqdzhMY0#NI`z_dl$hXlGZxA{P@WML9B&c+f*sLRL-f4 zEu}@X*WF{9gHl!DZu=E)02|pT?Tr`Uaq+7@aG=pa$~Cn&>Zi+V_)uY#pi~& z-xp3TdsKHTEADlbZv4xhLWP$R<{Z$(4O|~s1~_MUh+4NqMCK8WSZ288_Wec@*-bOK zfe)uCb-1HFTkpDB9@;98iUAfb2A5An#d|O{ab?{U3m#=V%;-uAhT#>fw_WIdm3(J@ z?fh*t4*YW|SS!VZI>u*q>?>)m-+npf$LwuqmbLX^NN2X)d_zl&$4UOxldw^ey23(4 z3W1qXyod}Y`JkHthTm7Qh_#a+65{@uKA)Qzoxw9Pd6nUgtoIx6 z1BG%%@bK?z`*2EDKKMHUmxvp!)XwuDKK`?n@<-2X`}du5BoDoo-9hilh|FR>SU!%5 zqmt2i0+b;68fs4Jz#+9s7C|Qg4-g>}XxbtigoPppL<<+YXA+ZtnN51uo{5*LGK+ZE zN9@N8|NL$GrWQDkX7iCxR?U*LBGNiP5!(rNuhNUi1}?CApdB8;B~LF8+Y!`Hj{4$y zTFImN8a>$9rUt7j);V2QEf3SP6c!)oH%c9%uI2Uo_7FIhwDl zaPpyLkkJG^t5;jIluwOvkUPQtrR(3;?aJM=GJRvutBe@sneVux%otz!>=*d&LI2bCP=%y zc=5(|Kkc@0#{@UtKy4b@aFQXt77U88fo`pvaV^i6TM~ z$UFyyjQxUw!SA^LPZ1&{!DWdMXqAh_nnn$v0dZX7_SOr#OO14nh7S*M+uLEP@&eE5 zMA~(SyhHaQIXS9osncuUp~~|1%Nv@#OB~<*^z>T*zb+BvJM@akW(;tC16WxJ3=YN$12x7^H>sapz0w>0oGz`@O5%F`_x%Xb)up`{J))| zv5+W~3~i32vlwa#z{La7%F=`tOV&Wv5N!U+Mx|SwYJs*l z50o(A$by^jzk-+Q=)0Fi+-CRm&89*lxd4Nlaa6t8Ogvg<-(%b93TA{X#$SvoA6s6Y zZZ`8I32rU`TSjvrwc{hK5y2gnjJyyWeaWE|t47 z0uad)ME~uYeGAZ5-2h?+6#5#?UJOT;(G?E|%94U&DpgP81zn=RVu89Go&&rz|zZ2muEr73VpXB?=)3UCPh8&1YVAPAq z2Ll%wAkC$kiTlIw27BU84C+3d1Q&(CNFk1r`G5m>KnyJEj#!fO_C!#o@YG>4HBP|bb(i#TH2ZxIm(FPC6;2}cbx?g0B+rc>u*p#b* z2T|BETKqtW<$w|)uoS^%MxlzF-yO?V9I9v^dpP$NRnIroo4j0Y%zqW6LekC93yf1*4qI?&X|qb8^6zxm6G^0#r+&ndJk)G+~fw5biyJNC%7y?l8Fp#Cvru%@BX z6frfH%v+cX4Y4Uy-AwT9NBtT4{Fgd7P?Xh}-EBD)|0g4U=cMLh3Tm4`TXRrJe^j=L z15RWLYQ5XdzU>sPy8v#0K)32j9 zPJX&}?lt$Idve;nU(-lWu{no&v@fQOL49S6>guB)>@E5ugkpO#GpFb z>L^%C8m~F)@}e>%@c4;KDu(XLcP>GjdW#;Wfj#BKXP8AYF}dw^+g!Bf<2)5hnmsh4 zH(%M_3*bK^%2N@fo1*kE;6HOwn zq=i+W!7myVoEh)}?8VRvb2uM*2Ol1;0cS4})+Y?~#}=5Td*q<%v87W3FPA-;wsxA? zR7P0lBonNak&1d&>>YX*Y54g0u0i8@@+UsHo*wj#bj~zHPe}3{%-Sz9CHh?Z`sT6Q zCq5}iDxVH>3Di4oC-mdiAbmeIHACyZKmSkmzD3!ShyDLw+1WTb2W_@yAsO(M4^Ph>0hP}mOFaBMqOpBbo`K}V7@t`AHZi7D z=foeQ*a)|}asq$G;ilK4f!LR?5?hu%15t#Pibs>ypL3mA^gbShpS02Ur?Q8pPtl#C} zzP5Jf4|mU{fiQ*HOR{$Jlq`o^sYhkrC(T`wJ|Iogejx*#6`#vRM=Wb z4TXh_avwc15khwuB4HkZ7lmDOrAb_jj444wfk{QW7BGhvA=Q3ZskH#&qMh&vJopDb z^6Z;+ZQ}+_`e7Z+(sIY4`r0i1FXQ1vO&2?jCtuvl3mN{=WCqz@zw9ytC>1yR^m2JIZ0_z-4sm6%)!jUqO=5?XkEdcutG z@Sn{}YyVex(J6!~Uv-IK%JtivvHv%uv=>8)WeiSg!xwc*B4A3DfCYz{OJS6Rj+xhk zN!CDPqA!L~h_XCnWVxgkB8|i>C#cx3IYnDPvOg z0Zu2yoQl8t;&b}ApPJ^Em4T@I<714HhmTcZH$E(`_<-x7JqZ+%=ukAhQZ?T{wYty8loX;Y5cCwVcSs$*X`#wm5o!QK1fC z1q-3#q!s{RIGKQg)5Hiww7HD~Ll+E_Ed&~L*~Q?=L$X-Vh9rc3`Yh1K!9LdP7bFKU zvx1JlkNT4dc6wrPzGc&vEdDdYaHnq75RHOy5{T4_j%*RCDWypT}l~QXDjHT#}g#7;CMxH$dMJnw5Gr- z2P-FLMT(3ah@7m>N!=xzlyQQOjZuD6XM>>rqWw>i;+nIYY!%~vd?7Y;vwsULqRxGr zGdz;Xsr(fbFWc^$ApSCiOU$N|O;G*BM|pF7^_(^Opc~$0Qbb9@T@% zKeUFVEA{yKa)NRf z15Nj5eBYeh)S0KUipl0u4YGAYZlCEza*fmDc0zJlj%mWh=}8A={s_Jqd@Vl|@VDAm f!z0yd2m7cW8njN!4gZ>$uQ}yrq2i#q@Z$dgyP-!x From 63cf79f2dbed7ae4388e00f53926ef16d1cff4a8 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 15:55:28 +0100 Subject: [PATCH 103/119] [IMP] incorrect wording lp bug: https://launchpad.net/bugs/901579 fixed bzr revid: fme@openerp.com-20111215145528-28yx0dka5gldxu5k --- addons/web_mobile/static/src/xml/web_mobile.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web_mobile/static/src/xml/web_mobile.xml b/addons/web_mobile/static/src/xml/web_mobile.xml index f94117e6e0e..65d7f0a97a1 100644 --- a/addons/web_mobile/static/src/xml/web_mobile.xml +++ b/addons/web_mobile/static/src/xml/web_mobile.xml @@ -130,7 +130,7 @@
- There is no records to show. + There are no records to show.
    @@ -330,4 +330,4 @@
- \ No newline at end of file + From d44b68421794af85b70656ba79de921128d1e441 Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Thu, 15 Dec 2011 16:29:18 +0100 Subject: [PATCH 104/119] removed min-width on buttons and fixed glitches on filter label bzr revid: mit@openerp.com-20111215152918-49ss55o6hhm4arus --- addons/web/static/src/css/base.css | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 39b4d26cf75..1fe3729cbb7 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -592,6 +592,10 @@ label.error { } .openerp .filter_label.enabled, .openerp .filter_icon.enabled { background: #aaa; + -moz-box-shadow: none; + -webkit-box-shadow: none; + -o-box-shadow: none; + -box-shadow: none; } .openerp .filter_icon { height: 22px; @@ -617,20 +621,32 @@ label.error { .openerp .filter_label_group button:first-child { -webkit-border-top-left-radius: 7px; -webkit-border-bottom-left-radius: 7px; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-right-radius: 0; -moz-border-radius-topleft: 7px; -moz-border-radius-bottomleft: 7px; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomright: 0; border-top-left-radius: 7px; border-bottom-left-radius: 7px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; border-right: none; } .openerp .filter_label_group button { border-right: none; } .openerp .filter_label_group button:last-child { + -webkit-border-top-left-radius: 0; + -webkit-border-bottom-left-radius: 0; -webkit-border-top-right-radius: 7px; -webkit-border-bottom-right-radius: 7px; + -moz-border-radius-topleft: 0; + -moz-border-radius-bottomleft: 0; -moz-border-radius-topright: 7px; -moz-border-radius-bottomright: 7px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; border-top-right-radius: 7px; border-bottom-right-radius: 7px; border-right: 1px solid #999; @@ -1725,7 +1741,6 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after { font-weight: 550; font-size: 12px; padding: 3px 10px; - min-width: 50px; text-align: center; background: #d8d8d8, none; -o-background-size: 100% 100%; @@ -1800,7 +1815,6 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after { font-weight: 550; font-size: 12px; padding: 3px 10px; - min-width: 50px; -moz-box-shadow: none !important, 0 0 0 transparent; -webkit-box-shadow: none !important, 0 0 0 transparent; -o-box-shadow: none !important, 0 0 0 transparent; From 525d60523ec8c8831249da0d6fb3f9f9cb3bb2b9 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 15 Dec 2011 16:40:48 +0100 Subject: [PATCH 105/119] [FIX] res.users: no global var for filtering groups, rather an overridable method bzr revid: odo@openerp.com-20111215154048-qz7o4qqj9d1g439k --- openerp/addons/base/res/res_users.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index 10a6565d7da..acd3a3c19ca 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -698,9 +698,6 @@ def partition(f, xs): class groups_view(osv.osv): _inherit = 'res.groups' - # this defines a domain for searching all groups in get_groups_by_application() - groups_by_application_domain = [] - def create(self, cr, uid, values, context=None): res = super(groups_view, self).create(cr, uid, values, context) self.update_user_groups_view(cr, uid, context) @@ -754,6 +751,9 @@ class groups_view(osv.osv): view = False return view + def get_application_groups(self, cr, uid, domain=None, context=None): + return self.search(cr, uid, domain or []) + def get_groups_by_application(self, cr, uid, context=None): """ return all groups classified by application (module category), as a list of pairs: [(app, kind, [group, ...]), ...], @@ -774,7 +774,7 @@ class groups_view(osv.osv): return None # classify all groups by application - gids = self.search(cr, uid, self.groups_by_application_domain) + gids = self.get_application_groups(cr, uid, context=context) by_app, others = {}, [] for g in self.browse(cr, uid, gids, context): if g.category_id: From 308c97596732fa5a354efe801a0752303e4b6402 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 16:41:00 +0100 Subject: [PATCH 106/119] [FIX] static datasets: don't set the index to 0 if there are no ids at all, the form view does not like it lp bug: https://launchpad.net/bugs/899043 fixed bzr revid: xmo@openerp.com-20111215154100-aspzga71cng767u8 --- addons/web/static/src/js/data.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js index aec701e6e67..46393aaf205 100644 --- a/addons/web/static/src/js/data.js +++ b/addons/web/static/src/js/data.js @@ -510,9 +510,10 @@ openerp.web.DataSetStatic = openerp.web.DataSet.extend({ }, set_ids: function (ids) { this.ids = ids; - if (this.index !== null) { - this.index = this.index <= this.ids.length - 1 ? - this.index : (this.ids.length > 0 ? this.length - 1 : 0); + if (ids.length === 0) { + this.index = null; + } else if (this.index >= ids.length - 1) { + this.index = ids.length - 1; } }, unlink: function(ids) { From c2670d16f7219eb69d3d27ee9a1419d9d83c6932 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 15 Dec 2011 16:42:20 +0100 Subject: [PATCH 107/119] [FIX] share: res.users API change to avoid global var usage bzr revid: odo@openerp.com-20111215154220-824h7pcuj4o4n5ms --- addons/share/res_users.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/share/res_users.py b/addons/share/res_users.py index 0462f1339d0..db4184ce378 100644 --- a/addons/share/res_users.py +++ b/addons/share/res_users.py @@ -28,10 +28,11 @@ class res_groups(osv.osv): help="Group created to set access rights for sharing data with some users.") } - def __init__(self, pool, cr): - super(res_groups, self).__init__(pool, cr) - # add domain in get_groups_by_application() - self.groups_by_application_domain.append(('share', '=', False)) + def get_application_groups(self, cr, uid, domain=None, context=None): + if domain is None: + domain = [] + domain.append(('share', '=', False)) + return super(res_groups, self).get_application_groups(cr, uid, domain=domain, context=context) res_groups() From bdbe22546383fcf8cca3947bc456a9d1cf79a542 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 17:15:44 +0100 Subject: [PATCH 108/119] [IMP] indentation bzr revid: xmo@openerp.com-20111215161544-vm4xhmuviynyfsjq --- addons/web/static/src/css/base.css | 153 ++++++++++++++--------------- 1 file changed, 74 insertions(+), 79 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 37cc83cf41a..c4e478cf7c6 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1685,9 +1685,7 @@ ul.oe-arrow-list li { ul.oe-arrow-list li span { vertical-align: top; display: inline-block; - border-width:1em; - border-style:solid; - border-color: #DEDEDE; + border: 1em solid #DEDEDE; line-height:0em; } ul.oe-arrow-list .oe-arrow-list-before { @@ -1737,102 +1735,99 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after { display: block; } -/***********/ /* Buttons */ -/***********/ - .openerp a.button:link, .openerp a.button:visited, .openerp button { - display: inline-block; - border: 1px solid #ababab; - color: #404040; - font-size: 12px; - padding: 3px 10px; - text-align: center; - -o-background-size: 100% 100%; - -moz-background-size: 100% 100%; - -webkit-background-size: auto auto !important; - background-size: 100% 100%; - background: #d8d8d8 none; - background: none, -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8)); - background: none, -webkit-linear-gradient(#efefef, #d8d8d8); - background: none, -moz-linear-gradient(#efefef, #d8d8d8); - background: none, -o-linear-gradient(top, #efefef, #d8d8d8); - background: none, -khtml-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8)); - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -o-border-radius: 3px; - -ms-border-radius: 3px; - border-radius: 3px; - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; - -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; - -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); - -webkit-font-smoothing: antialiased; - outline: none; + display: inline-block; + border: 1px solid #ababab; + color: #404040; + font-size: 12px; + padding: 3px 10px; + text-align: center; + -o-background-size: 100% 100%; + -moz-background-size: 100% 100%; + -webkit-background-size: auto auto !important; + background-size: 100% 100%; + background: #d8d8d8 none; + background: none, -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8)); + background: none, -webkit-linear-gradient(#efefef, #d8d8d8); + background: none, -moz-linear-gradient(#efefef, #d8d8d8); + background: none, -o-linear-gradient(top, #efefef, #d8d8d8); + background: none, -khtml-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8)); + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + -o-border-radius: 3px; + -ms-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); + -webkit-font-smoothing: antialiased; + outline: none; } .openerp a.button:hover, .openerp button:hover { - -o-background-size: 100% 100%; - -moz-background-size: 100% 100%; - -webkit-background-size: auto auto !important; - background-size: 100% 100%; - background: #e3e3e3 none; - background: none, -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); - background: none, -webkit-linear-gradient(#f6f6f6, #e3e3e3); - background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3); - background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3); - background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); - cursor: pointer; + -o-background-size: 100% 100%; + -moz-background-size: 100% 100%; + -webkit-background-size: auto auto !important; + background-size: 100% 100%; + background: #e3e3e3 none; + background: none, -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + background: none, -webkit-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3); + background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + cursor: pointer; } .openerp a.button:focus, .openerp button:focus { - border: 1px solid #80bfff; - -o-background-size: 100% 100%; - -moz-background-size: 100% 100%; - -webkit-background-size: auto auto !important; - background-size: 100% 100%; - background: #e3e3e3, none; - background: none, -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); - background: none, -webkit-linear-gradient(#f6f6f6, #e3e3e3); - background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3); - background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3); - background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); - -moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; - -webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; - -o-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; - box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; + border: 1px solid #80bfff; + -o-background-size: 100% 100%; + -moz-background-size: 100% 100%; + -webkit-background-size: auto auto !important; + background-size: 100% 100%; + background: #e3e3e3, none; + background: none, -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + background: none, -webkit-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3); + background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3); + background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); + -moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; + -o-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; + box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset; } .openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active { - background: #e3e3e3; - background: -moz-linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; - background: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6)) #1b468f; - background: linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; - -moz-box-shadow: none, 0 0 0 transparent; - -webkit-box-shadow: none, 0 0 0 transparent; - -o-box-shadow: none, 0 0 0 transparent; - box-shadow: none, 0 0 0 transparent; + background: #e3e3e3; + background: -moz-linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; + background: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6)) #1b468f; + background: linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f; + -moz-box-shadow: none, 0 0 0 transparent; + -webkit-box-shadow: none, 0 0 0 transparent; + -o-box-shadow: none, 0 0 0 transparent; + box-shadow: none, 0 0 0 transparent; } .openerp a.button.disabled, .openerp button:disabled { - background: #efefef !important; - border: 1px solid #d1d1d1 !important; - font-size: 12px; - padding: 3px 10px; - -moz-box-shadow: none !important, 0 0 0 transparent; - -webkit-box-shadow: none !important, 0 0 0 transparent; - -o-box-shadow: none !important, 0 0 0 transparent; - box-shadow: none !important, 0 0 0 transparent; - color: #aaaaaa !important; - cursor: default; - text-shadow: 0 1px 1px white !important; + background: #efefef !important; + border: 1px solid #d1d1d1 !important; + font-size: 12px; + padding: 3px 10px; + -moz-box-shadow: none !important, 0 0 0 transparent; + -webkit-box-shadow: none !important, 0 0 0 transparent; + -o-box-shadow: none !important, 0 0 0 transparent; + box-shadow: none !important, 0 0 0 transparent; + color: #aaaaaa !important; + cursor: default; + text-shadow: 0 1px 1px white !important; } From 27e8a35005d904382c2aa582f59f640034b70702 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 17:21:03 +0100 Subject: [PATCH 109/119] [FIX] property name is box-shadow, not -box-shadow bzr revid: xmo@openerp.com-20111215162103-vyzvt3n71cbe3d2u --- addons/web/static/src/css/base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index c4e478cf7c6..15096398b41 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1763,7 +1763,7 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after { -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; - -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5); -webkit-font-smoothing: antialiased; outline: none; From af69354253cc5787359a195e20cbb664dc49969b Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 15 Dec 2011 17:33:51 +0100 Subject: [PATCH 110/119] [FIX] rounded corners of filters bzr revid: xmo@openerp.com-20111215163351-6pffxttslojfk3ax --- addons/web/static/src/css/base.css | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 15096398b41..25e593170c6 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -625,19 +625,29 @@ label.error { padding-right: 0.4em; white-space: nowrap; } -.openerp .filter_label_group button:first-child { - -webkit-border-radius: 7px 0 0 7px; - -moz-border-radius: 7px 0 0 7px; - border-radius: 7px 0 0 7px; + +.openerp .filter_label_group button { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; border-right: none; } -.openerp .filter_label_group button { +.openerp .filter_label_group button:first-child { + -webkit-border-top-left-radius: 7px; + -webkit-border-bottom-left-radius: 7px; + -moz-border-radius-topleft: 7px; + -moz-border-radius-bottomleft: 7px; + border-top-left-radius: 7px; + border-bottom-left-radius: 7px; border-right: none; } .openerp .filter_label_group button:last-child { - -webkit-border-radius: 0 7px 7px 0; - -moz-border-radius: 0 7px 7px 0; - border-radius: 0 7px 7px 0; + -webkit-border-top-right-radius: 7px; + -webkit-border-bottom-right-radius: 7px; + -moz-border-radius-topright: 7px; + -moz-border-radius-bottomright: 7px; + border-top-right-radius: 7px; + border-bottom-right-radius: 7px; border-right: 1px solid #999; } .openerp .filter_label_group button.filter_icon img { From 99752a51551bdcb0cf23de16bb4a5a81c6989371 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 17:37:24 +0100 Subject: [PATCH 111/119] [FIX] strange menu behaviour if left menu is folded lp bug: https://launchpad.net/bugs/890619 fixed bzr revid: fme@openerp.com-20111215163724-5gqz9om4twc1f4fe --- addons/web/static/src/js/chrome.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index ef49fb18ee7..e27dc343961 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -956,13 +956,16 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{ $sub_menu.css(css); $sub_menu.mouseenter(function() { clearTimeout($sub_menu.data('timeoutId')); + $sub_menu.data('timeoutId', null); + return false; }).mouseleave(function(evt) { var timeoutId = setTimeout(function() { - if (self.folded) { - $sub_menu.hide(); + if (self.folded && $sub_menu.data('timeoutId')) { + $sub_menu.hide().unbind('mouseenter').unbind('mouseleave'); } }, self.float_timeout); $sub_menu.data('timeoutId', timeoutId); + return false; }); } $sub_menu.show(); From 4206e4d2627be8ca252fdfce2f90654ff9db0055 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Thu, 15 Dec 2011 19:32:59 +0100 Subject: [PATCH 112/119] connection jsonp wip bzr revid: al@openerp.com-20111215183259-vam7tsjlkqhjam69 --- addons/web/static/src/js/chrome.js | 3 +- addons/web/static/src/js/core.js | 356 +++++++--------------- addons/web/static/src/js/formats.js | 2 +- addons/web/static/src/js/jq_ajax.js | 184 ----------- addons/web_kanban/static/src/js/kanban.js | 4 +- 5 files changed, 109 insertions(+), 440 deletions(-) delete mode 100644 addons/web/static/src/js/jq_ajax.js diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index b03c5965bf7..eb9328a6bd1 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1013,7 +1013,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie start: function() { this._super.apply(this, arguments); var self = this; - openerp.connection.bind(function() { + openerp.connection.bind("",function() { var params = {}; if(jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { self.$element.addClass("kitten-mode-activated"); @@ -1103,7 +1103,6 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie }, }); - openerp.currentScript = function() { var currentScript = document.currentScript; if (!currentScript) { diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 96e38b4e4d0..55bce373330 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -342,183 +342,6 @@ openerp.web.CallbackEnabled = openerp.web.Class.extend(/** @lends openerp.web.Ca } }); -$.ajaxSetup({ - converters: { - "json oe-jsonp": true, - "json oe-json": true, - } -}); - -// common preconditions checks -$.ajaxPrefilter("oe-json oe-jsonp", function(options, originalOptions, jqXHR) { - if (!$.isPlainObject(options.openerp)) { - console.error(options.openerp); - $.error('"openerp" option is required.'); - } - - if (!$.isPlainObject(options.data)) { - $.error('data must not be serialized'); - } - options.processData = false; -}); - -$.ajaxPrefilter("oe-json", function(options, originalOptions, jqXHR) { - options.data = JSON.stringify({ - jsonrpc: '2.0', - method: 'call', - params: options.data, - id: _.uniqueId('browser-client-') - }); - - return 'json'; -}); - -$.ajaxPrefilter("oe-jsonp", function(options, originalOptions, jqXHR) { - - options.crossDomain = true; - - var data = null; - if (options.data) { - data = $.param({r:JSON.stringify(options.data)}); - } - - - - var max_url_length = options.max_url_length || 1000, - absolute_url, full_url; - /* - var r_has_protocol = /^https?:\/\//, - r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) - - - if (r_has_protocol.test(options.url)) { - if (!_(options.url).startsWith(options.openerp.server + '/')) { - $.error('can only contact openerp.server'); - } - absolute_url = options.url; - } else if (r_absolute_internal.test(options.url)) { - absolute_url = options.openerp.server + options.url; - } else { // relative url - var parts = document.location.pathname.split('/'); - parts.pop(); - parts.push(options.url); - absolute_url = options.openerp.server + parts.join('/'); - } - // */ - - var absolute_url = options.openerp.get_absolute_url(options.url); - - /// now, made the same url changes that jQuery will do... - var rquery = /\?/, - rts = /([?&])_=[^&]*/; - - full_url = absolute_url; - if (data) { - full_url += (rquery.test(full_url) ? "&" : "?") + data; - } - - // Add anti-cache in url if needed - if (!options.cache) { - var ts = $.now(), - // try replacing _= if it is there - ret = full_url.replace(rts, "$1_=" + ts); - - // if nothing was replaced, add timestamp to the end - full_url = ret + ((ret === full_url) ? (rquery.test(full_url) ? "&" : "?") + "_=" + ts : ""); - } - - options.url = absolute_url; - - if (full_url.length < max_url_length) { - options.type = "GET"; - options.data = data; - return "jsonp"; // classic jsonp query... - } -}); - -$.ajaxTransport("oe-jsonp", function(options, originalOptions, jqXHR) { - - var $iframe = null; - var $form = $('
') - .attr('method', 'POST') - .attr('enctype', "multipart/form-data") - .attr('action', options.openerp.server + "/web/jsonp/post") - .hide() - .appendTo($('body')) - ; - - function cleanUp() { - if ($iframe) { - $iframe.unbind("load").attr("src", "javascript:false;").remove(); - } - $form.remove(); - } - - return { - - send: function(headers, completeCallback) { - - var ifid = _.uniqueId('oe_jsonp_iframe_'); - var request_id = _.uniqueId('browser-client-'); - var oe_callback = _.uniqueId('oe_callback_'); - - window[oe_callback] = function(result) { - completeCallback(200, 'success', {json: result}); - }; - - - var display = options.openerp.debug ? 'block' : 'none'; - $iframe = $(_.str.sprintf("", ifid, ifid, display)); - - - // the first bind is fired up when the iframe is added to the DOM - $iframe.bind('load', function() { - // the second bind is fired up when the result of the form submission is received - $iframe.unbind('load').bind('load', function() { - // we cannot access the content of remote iframe. - // but we don't care, we try to get the result in any cases - - $.ajax({ - type: "GET", - url: options.url, - dataType: 'jsonp', - jsonp: false, // do not append callback=? argument on query string - jsonpCallback: oe_callback, - data: { - sid: options.openerp.session_id, - rid: request_id, - }, - }).always(function() { - cleanUp(); - }); - - }); - - - // now that the iframe can receive data, we fill and submit the form - var params = JSON.stringify(options.data); - - $form - .append($('').attr('value', options.openerp.session_id)) - .append($('').attr('value', request_id)) - .append($('').attr('value', params)) - .append($('').attr('value', oe_callback)) - .submit() - ; - - }); - - $form.attr('target', ifid) // set the iframe as target of the form - .after($iframe); // append the iframe to the DOM (will trigger the first load) - - }, - abort: function() { - cleanUp(); - }, - }; - -}); - openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.web.Connection# */{ /** * @constructs openerp.web.Connection @@ -529,26 +352,17 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. */ init: function() { this._super(); - this.server = null; - this.debug = ($.deparam($.param.querystring()).debug != undefined); // TODO: session should have an optional name indicating that they'll // be saved to (and revived from) cookies this.name = openerp._session_id; }, - bind: function(server, continuation) { - - if(_.isFunction(server)) { - continuation = server; - server = null; - } - - if (this.server) { - throw new Error("Connection already bound to " + this.server); - } - var hostname = _.str.sprintf('%s//%s', location.protocol, location.host); - this.server = _.str.rtrim((!server) ? hostname : server, '/'); - openerp.web.qweb.default_dict['_s'] = this.server - this.rpc_mode = (this.server == hostname) ? "oe-json" : "oe-jsonp"; + bind: function(host, protocol) { + this.host = (host == undefined) ? location.host : host; + this.protocol = (protocol == undefined) ? location.protocol : protocol; + this.prefix = this.protocol + '//' + this.host; + openerp.web.qweb.default_dict['_s'] = this.prefix + this.rpc_mode = (host == location.host) ? "json" : "jsonp"; + this.debug = (window.location.search.indexOf('?debug') !== -1); this.session_id = false; this.uid = false; this.username = false; @@ -562,12 +376,6 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. this.active_id = null; this.do_load_qweb(['/web/webclient/qweb'], continuation); }, - connect: function(server, db, login, password, continuation) { - var self = this; - this.bind(server, function() { - self.login(db, login, password, continuation); - }); - }, /** * Executes an RPC call, registering the provided callbacks. * @@ -583,79 +391,130 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. */ rpc: function(url, params, success_callback, error_callback) { var self = this; + // url can be an $.ajax option object + if (_.isString(url)) { + url = { url: url }; + } // Construct a JSON-RPC2 request, method is currently unused params.session_id = this.session_id; if (this.debug) params.debug = 1; - + var payload = { + jsonrpc: '2.0', + method: 'call', + params: params, + id: _.uniqueId('oe-') + }; // Call using the rpc_mode var deferred = $.Deferred(); - this.rpc_ajax(url, params) - .then(function () {deferred.resolve.apply(deferred, arguments);}, - function(error) {deferred.reject(error, $.Event());}); - return deferred.fail(function() { + this.on_rpc_request(); + this.rpc_json(url, payload).then( + function (response, textStatus, jqXHR) { + self.on_rpc_response(); + if (!response.error) { + deferred.resolve(response["result"], textStatus, jqXHR); + } else if (response.error.data.type === "session_invalid") { + self.uid = false; + self.on_session_invalid(function() { + self.rpc(url, payload.params, + function() { deferred.resolve.apply(deferred, arguments); }, + function() { deferred.reject.apply(deferred, arguments); }); + }); + } else { + deferred.reject(response.error, $.Event()); + } + }, + function(jqXHR, textStatus, errorThrown) { + self.on_rpc_response(); + var error = { + code: -32098, + message: "XmlHttpRequestError " + errorThrown, + data: {type: "xhr"+textStatus, debug: jqXHR.responseText, objects: [jqXHR, errorThrown] } + }; + deferred.reject(error, $.Event()); + }); + // Allow deferred user to disable on_rpc_error in fail + deferred.fail(function() { deferred.fail(function(error, event) { if (!event.isDefaultPrevented()) { self.on_rpc_error(error, event); } }); }).then(success_callback, error_callback).promise(); + return deferred; }, /** * Raw JSON-RPC call * * @returns {jQuery.Deferred} ajax-webd deferred object */ - rpc_ajax: function(url, payload) { + rpc_json: function(url, payload) { var self = this; - this.on_rpc_request(); - // url can be an $.ajax option object - if (_.isString(url)) { - url = { - url: url - } - } var ajax = _.extend({ type: "POST", - url: url, - dataType: this.rpc_mode, + dataType: 'json', contentType: 'application/json', - data: payload, + data: JSON.stringify(payload), processData: false, - openerp: _.extend({}, this), // need a plainObject }, url); - var deferred = $.Deferred(); - $.ajax(ajax).done(function(response, textStatus, jqXHR) { - self.on_rpc_response(); - if (!response.error) { - deferred.resolve(response["result"], textStatus, jqXHR); - return; + return $.ajax(ajax); + }, + rpc_jsonp: function(url, payload) { + var self = this; + var ajax = _.extend({ + type: "GET", + dataType: 'jsonp', + jsonp: 'jsonp', + cache: false, + data: { + session_id: this.session_id, + id: payload.id, } - if (response.error.data.type !== "session_invalid") { - deferred.reject(response.error); - return; - } - self.uid = false; - self.on_session_invalid(function() { // retry - self.rpc(url, payload, - function() { - deferred.resolve.apply(deferred, arguments); - }, - function(error, event) { - event.preventDefault(); - deferred.reject.apply(deferred, arguments); - }); - }); - }).fail(function(jqXHR, textStatus, errorThrown) { - self.on_rpc_response(); - var error = { - code: -32098, - message: "XmlHttpRequestError " + errorThrown, - data: {type: "xhr"+textStatus, debug: jqXHR.responseText, objects: [jqXHR, errorThrown] } + }, url); + var payload_str = JSON.stringify(payload); + var payload_url = $.param({r:payload_str}); + if(playload_url.length < 2000) { + // Direct json request + ajax.data.r = payload_str; + return $.ajax(ajax); + } else { + // Indirect json request + var ifid = _.uniqueId('oe_rpc_iframe_'); + var display = options.openerp.debug ? 'block' : 'none'; + var $iframe = $(_.str.sprintf("", ifid, ifid, display)); + var $form = $('') + .attr('method', 'POST') + .attr('target', ifid) + .attr('enctype', "multipart/form-data") + .attr('action', ajax.url) + .append($('').attr('value', payload_str)) + .hide() + .appendTo($('body')); + var cleanUp = function() { + if ($iframe) { + $iframe.unbind("load").attr("src", "javascript:false;").remove(); + } + $form.remove(); }; - deferred.reject(error); - }); - return deferred.promise(); + var deferred = $.Deferred(); + // the first bind is fired up when the iframe is added to the DOM + $iframe.bind('load', function() { + // the second bind is fired up when the result of the form submission is received + $iframe.unbind('load').bind('load', function() { + $.ajax(ajax).always(function() { + cleanUp(); + }).then( + function() { deferred.resolve.apply(deferred, arguments); }, + function() { deferred.reject.apply(deferred, arguments); } + ); + }); + // now that the iframe can receive data, we fill and submit the form + $form.submit(); + }); + // append the iframe to the DOM (will trigger the first load) + $form.after($iframe); + return deffered; + } }, on_rpc_request: function() { }, @@ -687,15 +546,10 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. username: result.login }); self.session_save(); - self.on_session_valid(success_callback); return true; - //}).done(success_callback); }); }, - login: function() { - this.session_authenticate.apply(this, arguments); - }, /** * Reloads uid and session_id from local storage, if they exist */ diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js index 13cceaeba8d..264cc836e2d 100644 --- a/addons/web/static/src/js/formats.js +++ b/addons/web/static/src/js/formats.js @@ -254,7 +254,7 @@ openerp.web.format_cell = function (row_data, column, value_if_empty, process_mo if (column.tag === 'button') { return [ '' ].join('') diff --git a/addons/web/static/src/js/jq_ajax.js b/addons/web/static/src/js/jq_ajax.js deleted file mode 100644 index 611ab1e1e22..00000000000 --- a/addons/web/static/src/js/jq_ajax.js +++ /dev/null @@ -1,184 +0,0 @@ - - $.ajaxSetup({ - converters: { - "json oe-jsonp": true, - "json oe-json": true, - } - }); - - - // common preconditions checks - $.ajaxPrefilter("oe-json oe-jsonp", function(options, originalOptions, jqXHR) { - if (!$.isPlainObject(options.openerp)) { - console.error(options.openerp); - $.error('"openerp" option is required.'); - } - - if (!$.isPlainObject(options.data)) { - $.error('data must not be serialized'); - } - options.processData = false; - }); - - - - $.ajaxPrefilter("oe-json", function(options, originalOptions, jqXHR) { - options.data = JSON.stringify({ - jsonrpc: '2.0', - method: 'call', - params: options.data, - id: _.uniqueId('browser-client-') - }); - - return 'json'; - }); - - - $.ajaxPrefilter("oe-jsonp", function(options, originalOptions, jqXHR) { - - options.crossDomain = true; - - var data = null; - if (options.data) { - data = $.param({r:JSON.stringify(options.data)}); - } - - - - var max_url_length = options.max_url_length || 1000, - absolute_url, full_url; - /* - var r_has_protocol = /^https?:\/\//, - r_absolute_internal = /^\/[^\/]/; // starts with / (but not //) - - - if (r_has_protocol.test(options.url)) { - if (!_(options.url).startsWith(options.openerp.server + '/')) { - $.error('can only contact openerp.server'); - } - absolute_url = options.url; - } else if (r_absolute_internal.test(options.url)) { - absolute_url = options.openerp.server + options.url; - } else { // relative url - var parts = document.location.pathname.split('/'); - parts.pop(); - parts.push(options.url); - absolute_url = options.openerp.server + parts.join('/'); - } - // */ - - var absolute_url = options.openerp.get_absolute_url(options.url); - - /// now, made the same url changes that jQuery will do... - var rquery = /\?/, - rts = /([?&])_=[^&]*/; - - full_url = absolute_url; - if (data) { - full_url += (rquery.test(full_url) ? "&" : "?") + data; - } - - // Add anti-cache in url if needed - if (!options.cache) { - var ts = $.now(), - // try replacing _= if it is there - ret = full_url.replace(rts, "$1_=" + ts); - - // if nothing was replaced, add timestamp to the end - full_url = ret + ((ret === full_url) ? (rquery.test(full_url) ? "&" : "?") + "_=" + ts : ""); - } - - options.url = absolute_url; - - if (full_url.length < max_url_length) { - options.type = "GET"; - options.data = data; - return "jsonp"; // classic jsonp query... - } - }); - - - $.ajaxTransport("oe-jsonp", function(options, originalOptions, jqXHR) { - - var $iframe = null; - var $form = $('') - .attr('method', 'POST') - .attr('enctype', "multipart/form-data") - .attr('action', options.openerp.server + "/web/jsonp/post") - .hide() - .appendTo($('body')) - ; - - function cleanUp() { - if ($iframe) { - $iframe.unbind("load").attr("src", "javascript:false;").remove(); - } - $form.remove(); - } - - return { - - send: function(headers, completeCallback) { - - var ifid = _.uniqueId('oe_jsonp_iframe_'); - var request_id = _.uniqueId('browser-client-'); - var oe_callback = _.uniqueId('oe_callback_'); - - window[oe_callback] = function(result) { - completeCallback(200, 'success', {json: result}); - }; - - - var display = options.openerp.debug ? 'block' : 'none'; - $iframe = $(_.str.sprintf("", ifid, ifid, display)); - - - // the first bind is fired up when the iframe is added to the DOM - $iframe.bind('load', function() { - // the second bind is fired up when the result of the form submission is received - $iframe.unbind('load').bind('load', function() { - // we cannot access the content of remote iframe. - // but we don't care, we try to get the result in any cases - - $.ajax({ - type: "GET", - url: options.url, - dataType: 'jsonp', - jsonp: false, // do not append callback=? argument on query string - jsonpCallback: oe_callback, - data: { - sid: options.openerp.session_id, - rid: request_id, - }, - }).always(function() { - cleanUp(); - }); - - }); - - - // now that the iframe can receive data, we fill and submit the form - var params = JSON.stringify(options.data); - - $form - .append($('').attr('value', options.openerp.session_id)) - .append($('').attr('value', request_id)) - .append($('').attr('value', params)) - .append($('').attr('value', oe_callback)) - .submit() - ; - - }); - - $form.attr('target', ifid) // set the iframe as target of the form - .after($iframe); // append the iframe to the DOM (will trigger the first load) - - }, - abort: function() { - cleanUp(); - }, - }; - - }); - - diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 9f86d4d3383..053e1cdfd00 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -106,7 +106,7 @@ openerp.web_kanban.KanbanView = openerp.web.View.extend({ node.children = [{ tag: 'img', attrs: { - src: openerp.connection.server + '/web/static/src/img/icons/' + node.attrs['data-icon'] + '.png', + src: openerp.connection.prefix + '/web/static/src/img/icons/' + node.attrs['data-icon'] + '.png', width: '16', height: '16' } @@ -524,7 +524,7 @@ openerp.web_kanban.KanbanRecord = openerp.web.Widget.extend({ }, kanban_image: function(model, field, id) { id = id || ''; - return openerp.connection.server + '/web/binary/image?session_id=' + this.session.session_id + '&model=' + model + '&field=' + field + '&id=' + id; + return openerp.connection.prefix + '/web/binary/image?session_id=' + this.session.session_id + '&model=' + model + '&field=' + field + '&id=' + id; }, kanban_text_ellipsis: function(s, size) { size = size || 160; From b98867779a20d3836069dee5dd84001ae266362d Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 15 Dec 2011 19:54:34 +0100 Subject: [PATCH 113/119] [IMP] sale: used improved stock API added by previous commit bzr revid: odo@openerp.com-20111215185434-s2mo587pl2a0s4ng --- addons/sale/stock.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/addons/sale/stock.py b/addons/sale/stock.py index 9e0a47b3ceb..378af21c1b4 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -27,12 +27,11 @@ class stock_move(osv.osv): 'sale_line_id': fields.many2one('sale.order.line', 'Sales Order Line', ondelete='set null', select=True, readonly=True), } - def _create_chained_picking(self, cr, uid, pick_name, picking, ptype, move, context=None): - res = super(stock_move, self)._create_chained_picking(cr, uid, pick_name, picking, ptype, move, context=context) + def _prepare_chained_picking(self, cr, uid, picking_name, picking, picking_type, moves_todo, context=None): + values = super(stock_move, self)._prepare_chained_picking(cr, uid, picking_name, picking, picking_type, moves_todo, context=context) if picking.sale_id: - self.pool.get('stock.picking').write(cr, uid, [res], {'sale_id': picking.sale_id.id}) - return res -stock_move() + values['sale_id'] = picking.sale_id.id + return values class stock_picking(osv.osv): _inherit = 'stock.picking' @@ -196,7 +195,4 @@ class stock_picking(osv.osv): }) return result -stock_picking() - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 8721df9d549e72b7154ae34dff53aa4b82718b85 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 16 Dec 2011 01:44:02 +0100 Subject: [PATCH 114/119] [IMP] massive connection deferrization, json works again bzr revid: al@openerp.com-20111216004402-q6v26822swarra7r --- addons/web/common/http.py | 15 ++-- addons/web/controllers/main.py | 5 +- addons/web/static/src/js/chrome.js | 44 ++++------ addons/web/static/src/js/core.js | 128 +++++++++++++---------------- 4 files changed, 84 insertions(+), 108 deletions(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index 620e3a548dc..4bdd87a6764 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -6,12 +6,12 @@ import ast import contextlib import functools import logging -import urllib import os import pprint import sys import threading import traceback +import urllib import uuid import xmlrpclib @@ -137,20 +137,19 @@ class JsonRequest(WebRequest): :returns: an utf8 encoded JSON-RPC2 or JSONP reply """ - method = self.httprequest.method args = self.httprequest.args jsonp = args.get('jsonp', False) requestf = None request = None - if jsonp and method == 'POST': + if jsonp and self.httprequest.method == 'POST': # jsonp 2 steps step1 POST: save call self.init(args) req.session.jsonp_requests[args.get('id')] = self.httprequest.form['r'] headers=[('Content-Type', 'text/plain; charset=utf-8')] r = werkzeug.wrappers.Response(request_id, headers=headers) return r - elif args['jsonp'] and args.get('id'): + elif jsonp and args.get('id'): # jsonp 2 steps step2 GET: run and return result self.init(args) request = self.session.jsonp_requests.pop(args.get(id), "") @@ -195,6 +194,8 @@ class JsonRequest(WebRequest): } } except Exception: + logging.getLogger(__name__ + '.JSONRequest.dispatch').exception\ + ("An error occured while handling a json request") error = { 'code': 300, 'message': "OpenERP WebClient Error", @@ -205,9 +206,9 @@ class JsonRequest(WebRequest): } if error: response["error"] = error - _logger.error("[%s] <--\n%s", rid, pprint.pformat(response)) - elif _logger.isEnabledFor(logging.DEBUG): - _logger.debug("[%s] <--\n%s", rid, pprint.pformat(response)) + + if _logger.isEnabledFor(logging.DEBUG): + _logger.debug("<--\n%s", pprint.pformat(response)) if jsonp: mime = 'application/javascript' diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index e745020c594..9c6edcf378a 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -10,6 +10,7 @@ import os import re import simplejson import time +import urllib2 import xmlrpclib import zlib from xml.etree import ElementTree @@ -245,7 +246,7 @@ class WebClient(openerpweb.Controller): class Proxy(openerpweb.Controller): _cp_path = '/web/proxy' - @jsonrequest + @openerpweb.jsonrequest def load(self, req, path): #req.config.socket_port #if not re.match('^/[^/]+/static/.*', path): @@ -254,7 +255,7 @@ class Proxy(openerpweb.Controller): env = req.httprequest.environ port = env['SERVER_PORT'] - o = urllib.urlopen('http://127.0.0.1:%s%s' % (port, path)) + o = urllib2.urlopen('http://127.0.0.1:%s%s' % (port, path)) return o.read() class Database(openerpweb.Controller): diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 70beb7ecc34..cbf475af44e 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1004,20 +1004,12 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie this.header.on_logout.add(this.login.on_logout); this.header.on_action.add(this.on_menu_action); - this.session.on_session_invalid.add(this.login.do_ask_login); - this.session.on_session_valid.add_last(this.header.do_update); - this.session.on_session_invalid.add_last(this.header.do_update); - this.session.on_session_valid.add_last(this.on_logged); - this.session.on_session_invalid.add_last(this.on_logged_out); - - this._current_state = null; - }, start: function() { this._super.apply(this, arguments); var self = this; - openerp.connection.bind("",function() { + this.session.bind().then(function() { var params = {}; if (jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { this.$element.addClass("kitten-mode-activated"); @@ -1026,17 +1018,25 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie }); } self.$element.html(QWeb.render("Interface", params)); - openerp.connection.session_restore(); - self.menu = new openerp.web.Menu(self, "oe_menu", "oe_secondary_menu"); self.menu.on_action.add(self.on_menu_action); - self.notification.prependTo(self.$element); self.loading.appendTo($('#oe_loading')); self.header.appendTo($("#oe_header")); self.login.appendTo($('#oe_login')); self.menu.start(); + self.login.on_login_invalid(); + }); + this.session.ready.then(function() { + self.login.on_login_valid(); + self.header.do_update(); + self.menu.do_reload(); + if(self.action_manager) + self.action_manager.stop(); + self.action_manager = new openerp.web.ActionManager(this); + self.action_manager.appendTo($("#oe_app")); + self.bind_hashchange(); }); }, do_reload: function() { @@ -1050,24 +1050,8 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie var n = this.notification; n.warn.apply(n, arguments); }, - on_logged: function() { - this.menu.do_reload(); - if(this.action_manager) - this.action_manager.stop(); - this.action_manager = new openerp.web.ActionManager(this); - this.action_manager.appendTo($("#oe_app")); - - if (openerp._modules_loaded) { // TODO: find better option than this - this.bind_hashchange(); - } else { - this.session.on_modules_loaded.add({ // XXX what about a $.Deferred ? - callback: $.proxy(this, 'bind_hashchange'), - unique: true, - position: 'last' - }) - } - }, - on_logged_out: function() { + on_loggued_out: function() { + this.header.do_update(); $(window).unbind('hashchange', this.on_hashchange); this.do_push_state({}); if(this.action_manager) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 55bce373330..f28d0adfc03 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -352,11 +352,11 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. */ init: function() { this._super(); - // TODO: session should have an optional name indicating that they'll - // be saved to (and revived from) cookies + // TODO: session store in cookie should be optional this.name = openerp._session_id; }, bind: function(host, protocol) { + var self = this; this.host = (host == undefined) ? location.host : host; this.protocol = (protocol == undefined) ? location.protocol : protocol; this.prefix = this.protocol + '//' + this.host; @@ -368,13 +368,13 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. this.username = false; this.user_context= {}; this.db = false; - this.module_loading = $.Deferred(); this.module_list = []; this.module_loaded = {"web": true}; this.context = {}; this.shortcuts = []; this.active_id = null; - this.do_load_qweb(['/web/webclient/qweb'], continuation); + this.ready = $.Deferred(); + return this.session_restore(); }, /** * Executes an RPC call, registering the provided callbacks. @@ -522,74 +522,52 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }, on_rpc_error: function(error) { }, + /** + * Init a session, reloads from cookie, if it exists + */ + session_restore: function () { + var self = this; + // TODO: session store in cookie should be optional + this.session_id = this.get_cookie('session_id'); + return this.rpc("/web/session/get_session_info", {}).pipe(function(result) { + // If immediately follows a login (triggered by trying to restore + // an invalid session or no session at all), refresh session data + // (should not change, but just in case...) + _.extend(self, { + db: result.db, + username: result.login, + uid: result.uid, + user_context: result.context + }); + var deferred = self.do_load_qweb(['/web/webclient/qweb']); + if(self.uid) { + return deferred.then(self.load_modules()); + } + return deferred; + }); + }, /** * The session is validated either by login or by restoration of a previous session */ - on_session_valid: function(continuation) { - this.load_modules().then(function() { continuation() } ); - }, - on_session_invalid: function(continuation) { - }, - session_is_valid: function() { - return this.uid; - }, - session_authenticate: function(db, login, password, success_callback) { + session_authenticate: function(db, login, password) { var self = this; var base_location = document.location.protocol + '//' + document.location.host; var params = { db: db, login: login, password: password, base_location: base_location }; - return this.rpc("/web/session/authenticate", params, function(result) { + return this.rpc("/web/session/authenticate", params).pipe(function(result) { _.extend(self, { session_id: result.session_id, - uid: result.uid, - user_context: result.context, db: result.db, - username: result.login + username: result.login, + uid: result.uid, + user_context: result.context }); - self.session_save(); - self.on_session_valid(success_callback); - return true; + // TODO: session store in cookie should be optional + self.set_cookie('session_id', this.session_id); + return self.load_modules(); }); }, - /** - * Reloads uid and session_id from local storage, if they exist - */ - session_restore: function (continuation) { - var self = this; - this.session_id = this.get_cookie('session_id'); - return this.rpc("/web/session/get_session_info", {}).then(function(result) { - // If immediately follows a login (triggered by trying to restore - // an invalid session or no session at all), refresh session data - // (should not change, but just in case...) but should not call - // on_session_valid again as it triggers reloading the menu - var already_logged = self.uid; - _.extend(self, { - uid: result.uid, - user_context: result.context, - db: result.db, - username: result.login - }); - if (!already_logged) { - if (self.uid) { - self.on_session_valid(continuation); - } else { - self.on_session_invalid(continuation); - } - } - }, function() { - self.on_session_invalid(continuation); - }); - }, - /** - * Saves the session id and uid locally - */ - session_save: function () { - this.set_cookie('session_id', this.session_id); - }, - logout: function() { + session_logout: function() { this.set_cookie('session_id', ''); - this.reload_client(); - }, - reload_client: function() { window.location.reload(); }, /** @@ -640,19 +618,21 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. self.module_list = result; var lang = self.user_context.lang; var params = { mods: ["web"].concat(result), lang: lang}; - self.rpc('/web/webclient/translations',params).then(function(transs) { + self.rpc('/web/webclient/translations',params).pipe(function(transs) { openerp.web._t.database.set_bundle(transs); var modules = self.module_list.join(','); var file_list = ["/web/static/lib/datejs/globalization/" + self.user_context.lang.replace("_", "-") + ".js" ]; return $.when( - self.rpc('/web/webclient/qweblist', {mods: modules}, self.do_load_qweb), self.rpc('/web/webclient/csslist', {mods: modules}, self.do_load_css), - self.rpc('/web/webclient/jslist', {mods: modules}, function(files) { + self.rpc('/web/webclient/qweblist', {mods: modules}).pipe(self.do_load_qweb), + self.rpc('/web/webclient/jslist', {mods: modules}).pipe(function(files) { self.do_load_js(file_list.concat(files)); }) - ); + ).then(function() { + self.ready.resolve(); + }); }); }); }, @@ -660,7 +640,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. var self = this; _.each(files, function (file) { $('head').append($('', { - 'href': self.get_absolute_url(file), + 'href': self.get_url(file), 'rel': 'stylesheet', 'type': 'text/css' })); @@ -668,32 +648,39 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }, do_load_js: function(files) { var self = this; + var d = $.Deferred(); if(files.length != 0) { var file = files.shift(); var tag = document.createElement('script'); tag.type = 'text/javascript'; - tag.src = self.get_absolute_url(file); + tag.src = self.get_url(file); tag.onload = tag.onreadystatechange = function() { if ( (tag.readyState && tag.readyState != "loaded" && tag.readyState != "complete") || tag.onload_done ) return; tag.onload_done = true; - self.do_load_js(files, callback); + self.do_load_js(files).then(function () { + d.resolve(); + }); }; var head = document.head || document.getElementsByTagName('head')[0]; head.appendChild(tag); } else { self.on_modules_loaded(); + d.resolve(); } + return d; }, do_load_qweb: function(files) { var self = this; if (files.length != 0) { var file = files.shift(); - self.rpc('/web/proxy/load', {path: file}, function(xml) { + return self.rpc('/web/proxy/load', {path: file}).pipe(function(xml) { openerp.web.qweb.add_template(_.str.trim(xml)); - self.do_load_qweb(files, callback); + return self.do_load_qweb(files); }); - } + } else { + return $.when(); + } }, on_modules_loaded: function() { for(var j=0; j Date: Fri, 16 Dec 2011 01:48:23 +0100 Subject: [PATCH 115/119] [IMP] minor changes bzr revid: al@openerp.com-20111216004823-s3lh80nymv2xu6fs --- addons/web/static/src/js/chrome.js | 2 +- addons/web/static/src/js/core.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index cbf475af44e..90c51571d3d 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -1040,7 +1040,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie }); }, do_reload: function() { - return $.when(this.session.session_restore(),this.menu.do_reload()); + return $.when(this.session.session_init(),this.menu.do_reload()); }, do_notify: function() { var n = this.notification; diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index f28d0adfc03..695a833da81 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -374,7 +374,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. this.shortcuts = []; this.active_id = null; this.ready = $.Deferred(); - return this.session_restore(); + return this.session_init(); }, /** * Executes an RPC call, registering the provided callbacks. @@ -415,6 +415,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. deferred.resolve(response["result"], textStatus, jqXHR); } else if (response.error.data.type === "session_invalid") { self.uid = false; + // TODO deprecate or use a deferred on login.do_ask_login() self.on_session_invalid(function() { self.rpc(url, payload.params, function() { deferred.resolve.apply(deferred, arguments); }, @@ -525,7 +526,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. /** * Init a session, reloads from cookie, if it exists */ - session_restore: function () { + session_init: function () { var self = this; // TODO: session store in cookie should be optional this.session_id = this.get_cookie('session_id'); From d315489256557498de4e3c641a7cc28e6550d575 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 16 Dec 2011 02:25:42 +0100 Subject: [PATCH 116/119] [FIX] session cookie and logout bzr revid: al@openerp.com-20111216012542-svbiuf64x017wll5 --- addons/web/controllers/main.py | 1 - addons/web/static/src/js/chrome.js | 9 ++++----- addons/web/static/src/js/core.js | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 9c6edcf378a..fc9ae1dec16 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -375,7 +375,6 @@ class Session(openerpweb.Controller): @openerpweb.jsonrequest def get_session_info(self, req): - req.session.assert_valid(force=True) return { "uid": req.session._uid, "context": req.session.get_context() if req.session._uid else False, diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 90c51571d3d..50fb8018918 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -629,9 +629,6 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{ callback: continuation || function() {} }); }, - on_logout: function() { - this.session.logout(); - } }); openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# */{ @@ -1001,7 +998,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie this.header = new openerp.web.Header(this); this.login = new openerp.web.Login(this); - this.header.on_logout.add(this.login.on_logout); + this.header.on_logout.add(this.on_logout); this.header.on_action.add(this.on_menu_action); this._current_state = null; @@ -1050,7 +1047,9 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie var n = this.notification; n.warn.apply(n, arguments); }, - on_loggued_out: function() { + on_logout: function() { + this.session.session_logout(); + this.login.on_login_invalid(); this.header.do_update(); $(window).unbind('hashchange', this.on_hashchange); this.do_push_state({}); diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 695a833da81..a46f7d5cac8 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -563,7 +563,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. user_context: result.context }); // TODO: session store in cookie should be optional - self.set_cookie('session_id', this.session_id); + self.set_cookie('session_id', self.session_id); return self.load_modules(); }); }, From 770a738b9b0e773506c38af0a14e91476ae14e1b Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 16 Dec 2011 02:30:51 +0100 Subject: [PATCH 117/119] [FIX] more deferred bzr revid: al@openerp.com-20111216013051-x45j314u7d4zvfoq --- addons/web/static/src/js/core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index a46f7d5cac8..7efd673f124 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -629,7 +629,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. self.rpc('/web/webclient/csslist', {mods: modules}, self.do_load_css), self.rpc('/web/webclient/qweblist', {mods: modules}).pipe(self.do_load_qweb), self.rpc('/web/webclient/jslist', {mods: modules}).pipe(function(files) { - self.do_load_js(file_list.concat(files)); + return self.do_load_js(file_list.concat(files)); }) ).then(function() { self.ready.resolve(); From 28715cfaab85970c3bbabf49bc12a5dfa2efc200 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 16 Dec 2011 02:49:45 +0100 Subject: [PATCH 118/119] [FIX] jsonp fixes currently untested bzr revid: al@openerp.com-20111216014945-mhq4eee2hy9mip27 --- addons/web/static/src/js/core.js | 35 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index 7efd673f124..3d66c4f4ccf 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -361,7 +361,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. this.protocol = (protocol == undefined) ? location.protocol : protocol; this.prefix = this.protocol + '//' + this.host; openerp.web.qweb.default_dict['_s'] = this.prefix - this.rpc_mode = (host == location.host) ? "json" : "jsonp"; + this.rpc_mode = (this.host == location.host) ? "json" : "jsonp"; + this.rpc_function = (this.host == location.host) ? this.rpc_json : this.rpc_jsonp; this.debug = (window.location.search.indexOf('?debug') !== -1); this.session_id = false; this.uid = false; @@ -403,12 +404,11 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. jsonrpc: '2.0', method: 'call', params: params, - id: _.uniqueId('oe-') + id: _.uniqueId('r') }; - // Call using the rpc_mode var deferred = $.Deferred(); this.on_rpc_request(); - this.rpc_json(url, payload).then( + this.rpc_function(url, payload).then( function (response, textStatus, jqXHR) { self.on_rpc_response(); if (!response.error) { @@ -462,32 +462,35 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }, rpc_jsonp: function(url, payload) { var self = this; + // extracted from payload to set on the url + var data = { + session_id: this.session_id, + id: payload.id, + }; + url.url = this.get_url(url.url); var ajax = _.extend({ type: "GET", dataType: 'jsonp', jsonp: 'jsonp', cache: false, - data: { - session_id: this.session_id, - id: payload.id, - } + data: data }, url); var payload_str = JSON.stringify(payload); var payload_url = $.param({r:payload_str}); if(playload_url.length < 2000) { - // Direct json request + // Direct jsonp request ajax.data.r = payload_str; return $.ajax(ajax); } else { - // Indirect json request - var ifid = _.uniqueId('oe_rpc_iframe_'); + // Indirect jsonp request + var ifid = _.uniqueId('oe_rpc_iframe'); var display = options.openerp.debug ? 'block' : 'none'; var $iframe = $(_.str.sprintf("", ifid, ifid, display)); var $form = $('') .attr('method', 'POST') .attr('target', ifid) .attr('enctype', "multipart/form-data") - .attr('action', ajax.url) + .attr('action', ajax.url + '?' + $.param(data)) .append($('').attr('value', payload_str)) .hide() .appendTo($('body')); @@ -514,7 +517,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. }); // append the iframe to the DOM (will trigger the first load) $form.after($iframe); - return deffered; + return deferred; } }, on_rpc_request: function() { @@ -696,6 +699,9 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. } } }, + get_url: function (file) { + return this.prefix + file; + }, /** * Cooperative file download implementation, for ajaxy APIs. * @@ -716,9 +722,6 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp. * @param {Function} [options.error] callback in case of request error, provided with the error body * @param {Function} [options.complete] called after both ``success`` and ``error` callbacks have executed */ - get_url: function (file) { - return this.prefix + file; - }, get_file: function (options) { // need to detect when the file is done downloading (not used // yet, but we'll need it to fix the UI e.g. with a throbber From 2d1baf3dda92c1e0700a901688e3c33bd647a0e0 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Fri, 16 Dec 2011 06:08:14 +0000 Subject: [PATCH 119/119] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20111216052448-trqaat8m6335nctw bzr revid: launchpad_translations_on_behalf_of_openerp-20111216052507-5r7nig2ys4fyef7f bzr revid: launchpad_translations_on_behalf_of_openerp-20111216060814-z34sm1fdvd230j37 --- addons/sale/i18n/es_CL.po | 8 +- addons/web/po/ar.po | 369 ++++++++++++++++++----------- addons/web/po/bn.po | 367 ++++++++++++++++++----------- addons/web/po/da.po | 331 +++++++++++++++++--------- addons/web/po/de.po | 339 +++++++++++++++++---------- addons/web/po/es.po | 331 +++++++++++++++++--------- addons/web/po/es_EC.po | 331 +++++++++++++++++--------- addons/web/po/et.po | 367 ++++++++++++++++++----------- addons/web/po/fr.po | 329 +++++++++++++++++--------- addons/web/po/gl.po | 369 ++++++++++++++++++----------- addons/web/po/hr.po | 373 +++++++++++++++++++----------- addons/web/po/it.po | 331 +++++++++++++++++--------- addons/web/po/nl.po | 373 +++++++++++++++++++----------- addons/web/po/nl_BE.po | 331 +++++++++++++++++--------- addons/web/po/pl.po | 367 ++++++++++++++++++----------- addons/web/po/pt.po | 329 +++++++++++++++++--------- addons/web/po/pt_BR.po | 367 ++++++++++++++++++----------- addons/web/po/ru.po | 367 ++++++++++++++++++----------- addons/web/po/sl.po | 331 +++++++++++++++++--------- addons/web/po/zh_TW.po | 369 ++++++++++++++++++----------- addons/web_calendar/po/ar.po | 10 +- addons/web_calendar/po/bn.po | 10 +- addons/web_calendar/po/da.po | 10 +- addons/web_calendar/po/de.po | 10 +- addons/web_calendar/po/es.po | 10 +- addons/web_calendar/po/es_EC.po | 10 +- addons/web_calendar/po/et.po | 10 +- addons/web_calendar/po/fr.po | 10 +- addons/web_calendar/po/gl.po | 10 +- addons/web_calendar/po/hr.po | 10 +- addons/web_calendar/po/it.po | 10 +- addons/web_calendar/po/nl.po | 10 +- addons/web_calendar/po/nl_BE.po | 10 +- addons/web_calendar/po/pt.po | 10 +- addons/web_calendar/po/ru.po | 10 +- addons/web_calendar/po/sk.po | 10 +- addons/web_calendar/po/sl.po | 10 +- addons/web_calendar/po/uk.po | 10 +- addons/web_dashboard/po/ar.po | 10 +- addons/web_dashboard/po/bn.po | 10 +- addons/web_dashboard/po/da.po | 10 +- addons/web_dashboard/po/de.po | 14 +- addons/web_dashboard/po/es.po | 10 +- addons/web_dashboard/po/es_EC.po | 10 +- addons/web_dashboard/po/et.po | 10 +- addons/web_dashboard/po/fr.po | 10 +- addons/web_dashboard/po/gl.po | 10 +- addons/web_dashboard/po/hr.po | 10 +- addons/web_dashboard/po/it.po | 10 +- addons/web_dashboard/po/nl.po | 10 +- addons/web_dashboard/po/nl_BE.po | 10 +- addons/web_dashboard/po/pl.po | 10 +- addons/web_dashboard/po/ru.po | 10 +- addons/web_dashboard/po/sk.po | 10 +- addons/web_dashboard/po/sl.po | 10 +- addons/web_diagram/po/ar.po | 14 +- addons/web_diagram/po/bn.po | 14 +- addons/web_diagram/po/da.po | 14 +- addons/web_diagram/po/de.po | 16 +- addons/web_diagram/po/es.po | 14 +- addons/web_diagram/po/es_EC.po | 14 +- addons/web_diagram/po/et.po | 14 +- addons/web_diagram/po/gl.po | 14 +- addons/web_diagram/po/hr.po | 14 +- addons/web_diagram/po/it.po | 14 +- addons/web_diagram/po/nl.po | 14 +- addons/web_diagram/po/nl_BE.po | 14 +- addons/web_diagram/po/pl.po | 14 +- addons/web_diagram/po/ru.po | 14 +- addons/web_diagram/po/sl.po | 14 +- addons/web_gantt/po/de.po | 6 +- addons/web_hello/po/fr.po | 6 +- addons/web_mobile/po/ar.po | 6 +- addons/web_mobile/po/bn.po | 6 +- addons/web_mobile/po/da.po | 6 +- addons/web_mobile/po/de.po | 6 +- addons/web_mobile/po/es.po | 6 +- addons/web_mobile/po/es_EC.po | 6 +- addons/web_mobile/po/et.po | 6 +- addons/web_mobile/po/fr.po | 6 +- addons/web_mobile/po/gl.po | 6 +- addons/web_mobile/po/hr.po | 6 +- addons/web_mobile/po/it.po | 6 +- addons/web_mobile/po/nl.po | 6 +- addons/web_mobile/po/nl_BE.po | 6 +- addons/web_mobile/po/pl.po | 6 +- addons/web_mobile/po/pt.po | 6 +- addons/web_mobile/po/ru.po | 6 +- addons/web_mobile/po/sk.po | 6 +- addons/web_mobile/po/sl.po | 6 +- addons/web_mobile/po/uk.po | 6 +- openerp/addons/base/i18n/es_CL.po | 10 +- 92 files changed, 4744 insertions(+), 2637 deletions(-) diff --git a/addons/sale/i18n/es_CL.po b/addons/sale/i18n/es_CL.po index bda9cda990f..ca227ac4115 100644 --- a/addons/sale/i18n/es_CL.po +++ b/addons/sale/i18n/es_CL.po @@ -7,20 +7,20 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev_rc3\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2011-01-11 11:16+0000\n" -"PO-Revision-Date: 2011-10-06 16:03+0000\n" +"PO-Revision-Date: 2011-12-15 21:29+0000\n" "Last-Translator: Francisco Reyes Acuña \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-11-05 05:17+0000\n" -"X-Generator: Launchpad (build 14231)\n" +"X-Launchpad-Export-Date: 2011-12-16 05:24+0000\n" +"X-Generator: Launchpad (build 14523)\n" #. module: sale #: view:board.board:0 #: model:ir.actions.act_window,name:sale.action_sales_by_salesman msgid "Sales by Salesman in last 90 days" -msgstr "Ventas por comercial últimos 90 días" +msgstr "Ventas por vendedor en los últimos 90 días" #. module: sale #: help:sale.installer,delivery:0 diff --git a/addons/web/po/ar.po b/addons/web/po/ar.po index fee0a9512e7..11066919ded 100644 --- a/addons/web/po/ar.po +++ b/addons/web/po/ar.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-08 05:44+0000\n" "Last-Translator: Ahmad Khayyat \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:22+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "تم" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "إلغاء" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "حفظ" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "إغلاق" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "إلغاء" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "تحذير، تم تحرير السجل، تعديلاتك سيتم تجاهلها" - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "    مزيداً من البحث..." - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "   إنشاء \"%s\"" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "   إنشاء و تحرير..." - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "إنشاء" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "إزالة" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "تحذير، تم تحرير السجل، تعديلاتك سيتم تجاهلها" + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "    مزيداً من البحث..." + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "   إنشاء \"%s\"" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "   إنشاء و تحرير..." + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "اضافة" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "استيراد" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "تصدير" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "عليك إختيار سجل واحد علي الأقل." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "تحذير" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "ترجمات" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "حفظ" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -383,10 +484,6 @@ msgstr "كلمة مرور رئيسية جديدة:" msgid "Confirm new master password:" msgstr "تأكيد كلمة المرور الرئيسية الجديدة:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "مستخدم:" @@ -485,11 +582,31 @@ msgid "Disable all tips" msgstr "تعطيل جميع الإرشادات" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "View#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -536,18 +653,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "تكرار" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "اضافة" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "أداة غير معالجة" @@ -784,10 +893,6 @@ msgstr "حقول للتصدير" msgid "Save fields list" msgstr "حفظ قائمة الحقول" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "إزالة" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "إزالة الكل" @@ -804,10 +909,6 @@ msgstr " " msgid "Save as:" msgstr "حفظ باسم:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "تم" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "مُصدرة محفوظة:" diff --git a/addons/web/po/bn.po b/addons/web/po/bn.po index 6d8fa4a3877..369c689a340 100644 --- a/addons/web/po/bn.po +++ b/addons/web/po/bn.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-24 12:45+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:22+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "" - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "" - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "" - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "" + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "" + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "" + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -383,10 +484,6 @@ msgstr "" msgid "Confirm new master password:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "" @@ -483,11 +580,31 @@ msgid "Disable all tips" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -534,18 +651,10 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -778,10 +887,6 @@ msgstr "" msgid "Save fields list" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "" @@ -798,10 +903,6 @@ msgstr "" msgid "Save as:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "" diff --git a/addons/web/po/da.po b/addons/web/po/da.po index 8a27bb3651b..40ddb43d076 100644 --- a/addons/web/po/da.po +++ b/addons/web/po/da.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-08 21:58+0000\n" "Last-Translator: Jonas Mortensen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:22+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Annullér" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Gem" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Luk" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,164 +88,212 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Annullér" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Opret" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Fjern" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Advarsel, registreringen er blevet ændret, dine ændringer vil derfor blive " "kasseret." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "   Søg efter mere...." -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "   Create \"%s\"" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "   Opret og rediger..." -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Opret" +msgid "Add" +msgstr "Tilføj" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -196,83 +301,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importér" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Eksportér" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Du skal vælge mindst en registrering." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Advarsel" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Oversættelser" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Gem" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -385,10 +486,6 @@ msgstr "Ny hovedadgangskode" msgid "Confirm new master password:" msgstr "Bekræft ny hovedadgangskode" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Bruger:" @@ -491,11 +588,31 @@ msgid "Disable all tips" msgstr "Deaktiver alle tips" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "View#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -542,18 +659,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplikér" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Tilføj" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "Ubehandlet widget" @@ -790,10 +899,6 @@ msgstr "Felter der kan eksporteres" msgid "Save fields list" msgstr "Gem listen med felter" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Fjern" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Fjern alle" @@ -810,10 +915,6 @@ msgstr " " msgid "Save as:" msgstr "Gem som:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Gem eksporteringer" diff --git a/addons/web/po/de.po b/addons/web/po/de.po index c5e52747686..d7d0d354e33 100644 --- a/addons/web/po/de.po +++ b/addons/web/po/de.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" -"PO-Revision-Date: 2011-12-09 18:41+0000\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" +"PO-Revision-Date: 2011-12-15 21:51+0000\n" "Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "Info" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "Einstellungen" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "Passwort ändern" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Abbrechen" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Speichern" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "Passwort ändern" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "Daten exportieren" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Schließen" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "In Datei exportieren" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "Daten importieren" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "Datei importieren" @@ -31,163 +88,211 @@ msgstr "Datei importieren" msgid "External ID" msgstr "Externe ID" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "Eintrag filtern" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Abbrechen" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "OK" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "Zur Anzeigetafel hinzufügen" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "Ungültige Suche" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "von der Suchansicht ausgelöst" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "Ungültiger Wert für Feld %(fieldname)s: [%(value)s] is %(message)s" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "ungültiger Trigger" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "ungültige Nummer" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "enthält" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "enthält nicht" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "Ist gleich" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "ist ungleich" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "ist größer als" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "ist kleiner als" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "ist größer oder gleich als" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "ist kleiner oder gleich als" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "ist" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "ist nicht" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "ist Wahr" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "ist falsch" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "Sicht-Editor" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Erzeugen" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "Bearbeiten" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Löschen" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "Erstelle Sicht (%s)" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "Möchten Sie diese Sicht wirklich entfernen" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "Sicht Editor %d - %s" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "Voransicht" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "Möchten Sie diesen Knoten wirklich entfernen?" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "Eigenschaften" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "Aktualisieren" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Achtung der Datensatz wurde bearbeitet, alle Änderungen werden verworfen!" -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "Anhänge" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "Wollen Sie den Anhang %s wirklich löschen" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "Bestätigen" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "   Suche mehr..." -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "   Anlegen \"%s\"" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "   Anlegen und Bearbeiten..." -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Erzeugen" +msgid "Add" +msgstr "Hinzufügen" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "Unbegrenzt" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "Möchten Sie diese Datensätze wirklich löschen" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "Undefiniert" @@ -195,83 +300,79 @@ msgstr "Undefiniert" msgid "Do you really want to delete this record?" msgstr "Möchten Sie diesen Datensatz wirklich löschen?" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "Suche: " -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "Anpassen" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "Ansichten verwalten" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "Ansichten des aktuelllen Objekts verwalten" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "Workflow bearbeiten" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "Objekt anpassen" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "Übersetzen" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "Technische Übersetzung" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "Weitere Optionen" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Import" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Export" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "Protokoll anzeigen" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "Berichte" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "Aktionen" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "Links" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Sie müssen mindestens einen Datensatz auswählen" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Warnung!" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Übersetzungen" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Speichern" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -384,10 +485,6 @@ msgstr "Neues Master Passwort:" msgid "Confirm new master password:" msgstr "Bestätigen Sie das neue Master Passwort:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "Passwort ändern" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Benutzer:" @@ -491,14 +588,34 @@ msgstr "Tip verbergen" msgid "Disable all tips" msgstr "Deaktiviere alle Tipps" -#: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "Ansicht#" - #: addons/web/static/src/xml/base.xml:0 msgid "More…" msgstr "Mehr ..." +#: addons/web/static/src/xml/base.xml:0 +msgid "Debug View#" +msgstr "Source von Sicht#" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "- Fields View Get" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "- Edit" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "Sicht" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "- Edit SearchView" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" +msgstr "- Edit Action" + #: addons/web/static/src/xml/base.xml:0 msgid "Field" msgstr "Feld" @@ -543,18 +660,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "Bearbeiten" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Kopieren" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Hinzufügen" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "unbekanntes Oberflächenelement" @@ -577,7 +686,7 @@ msgstr "?" #: addons/web/static/src/xml/base.xml:0 msgid "(nolabel)" -msgstr "" +msgstr "(keine Bezeichnung)" #: addons/web/static/src/xml/base.xml:0 msgid "Field:" @@ -673,7 +782,7 @@ msgstr "Schaltfläche" #: addons/web/static/src/xml/base.xml:0 msgid "(no string)" -msgstr "" +msgstr "(keine Zeichen)" #: addons/web/static/src/xml/base.xml:0 msgid "Special:" @@ -791,10 +900,6 @@ msgstr "Zu exportierende Felder" msgid "Save fields list" msgstr "Feldliste speichern" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Löschen" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Alle löschen" @@ -811,10 +916,6 @@ msgstr " " msgid "Save as:" msgstr "Speichern unter:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Gespeicherte Exporte:" diff --git a/addons/web/po/es.po b/addons/web/po/es.po index b803359c1f8..a5b8d97db97 100644 --- a/addons/web/po/es.po +++ b/addons/web/po/es.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 07:27+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Cancelar" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Guardar" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Cerrar" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,163 +88,211 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Cancelar" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Crear" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Eliminar" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Advertencia, el registro se ha modificado, los cambios serán descartados." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "   Buscar más..." -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "   Crear \"%s\"" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "   Crear y Editar..." -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Crear" +msgid "Add" +msgstr "Añadir" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -195,83 +300,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importar" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Exportar" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Debe seleccionar al menos un registro." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Advertencia" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Traducciones" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Guardar" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -384,10 +485,6 @@ msgstr "Nueva contraseña maestra:" msgid "Confirm new master password:" msgstr "Confirmar nueva contraseña maestra:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Usuario:" @@ -492,11 +589,31 @@ msgid "Disable all tips" msgstr "Desactivar todas las sugerencias" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "Vista#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -543,18 +660,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplicar" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Añadir" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "Widget no controlado" @@ -791,10 +900,6 @@ msgstr "Campos a exportar" msgid "Save fields list" msgstr "Guardar lista de campos" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Eliminar" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Eliminar Todo" @@ -811,10 +916,6 @@ msgstr " " msgid "Save as:" msgstr "Guardar como:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Exportaciones guardadas:" diff --git a/addons/web/po/es_EC.po b/addons/web/po/es_EC.po index ce0ec9d5abb..edb74b1e6d0 100644 --- a/addons/web/po/es_EC.po +++ b/addons/web/po/es_EC.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 18:16+0000\n" "Last-Translator: Cristian Salamea (Gnuthink) \n" "Language-Team: Spanish (Ecuador) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Cancelar" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Guardar" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Cerrar" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,163 +88,211 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Cancelar" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Crear" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Eliminar" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Aviso, el registro ha sido modificado, sus cambios serán descartados." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "   Buscar Más..." -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "   Crear \"%s\"" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "   Crear y Editar..." -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Crear" +msgid "Add" +msgstr "Agregar" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -195,83 +300,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importar" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Exportar" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Debe seleccionar al menos un registro." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Advertencia" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Traducciones" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Guardar" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -384,10 +485,6 @@ msgstr "New master password:" msgid "Confirm new master password:" msgstr "Confirmar nueva master password:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Usuario:" @@ -492,11 +589,31 @@ msgid "Disable all tips" msgstr "Desactivar todas las sugerencias" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "View#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -543,18 +660,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplicar" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Agregar" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "Wdiget no controlado" @@ -791,10 +900,6 @@ msgstr "Campos a exportar" msgid "Save fields list" msgstr "Guardar lista de campos" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Eliminar" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Borrar todo" @@ -811,10 +916,6 @@ msgstr " " msgid "Save as:" msgstr "Guardar Como:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Exportaciones guardadas:" diff --git a/addons/web/po/et.po b/addons/web/po/et.po index e62dcd42dad..d5e7ac755e6 100644 --- a/addons/web/po/et.po +++ b/addons/web/po/et.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-10 18:30+0000\n" "Last-Translator: Aare Vesi \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:22+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Tühista" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Salvesta" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Tühista" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "" - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "" - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "" - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "Loo" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Eemalda" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "" + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "" + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "" + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "Lisa" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Import" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Eksport" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Hoiatus" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Tõlked" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Salvesta" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -383,10 +484,6 @@ msgstr "" msgid "Confirm new master password:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Kasutaja:" @@ -483,11 +580,31 @@ msgid "Disable all tips" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -534,18 +651,10 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Tee koopia" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Lisa" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -778,10 +887,6 @@ msgstr "" msgid "Save fields list" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Eemalda" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Eemalda kõik" @@ -798,10 +903,6 @@ msgstr "" msgid "Save as:" msgstr "Salvesta kui:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "" diff --git a/addons/web/po/fr.po b/addons/web/po/fr.po index c07a9f7dabf..d7822dce2a1 100644 --- a/addons/web/po/fr.po +++ b/addons/web/po/fr.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-05 16:17+0000\n" "Last-Translator: Xavier (Open ERP) \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Enregistrer" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Fermer" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,163 +88,211 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Créer" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Attention, l'enregistrement a été modifié, vos changements seront perdus." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "" -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "" -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Créer" +msgid "Add" +msgstr "" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -195,83 +300,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "Rechercher : " -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Vous devez choisir au moins un enregistrement" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Attention" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Traductions" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Enregistrer" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -384,10 +485,6 @@ msgstr "" msgid "Confirm new master password:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Utilisateur :" @@ -484,11 +581,31 @@ msgid "Disable all tips" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -535,18 +652,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Dupliquer" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -779,10 +888,6 @@ msgstr "" msgid "Save fields list" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "" @@ -799,10 +904,6 @@ msgstr "" msgid "Save as:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "" diff --git a/addons/web/po/gl.po b/addons/web/po/gl.po index e43a92cc990..b796b1f33fb 100644 --- a/addons/web/po/gl.po +++ b/addons/web/po/gl.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 07:54+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Cancelar" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Gardar" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Pechar" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Cancelar" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "Advertencia, o rexistro modificouse, os cambios serán descartados." - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "   Buscar máis..." - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "   Crear \"%s\"" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "   Crear e Editar..." - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "Crear" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Eliminar" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "Advertencia, o rexistro modificouse, os cambios serán descartados." + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "   Buscar máis..." + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "   Crear \"%s\"" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "   Crear e Editar..." + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "Engadir" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importar" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Exportar" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Debe seleccionar polo menos un rexistro." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Advertencia" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Traducións" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Gardar" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -383,10 +484,6 @@ msgstr "Nova contrasinal maestra:" msgid "Confirm new master password:" msgstr "Confirmar nova contrasinal maestra:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Usuario:" @@ -491,11 +588,31 @@ msgid "Disable all tips" msgstr "Desactivar todas as suxerencias" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "Vista#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -542,18 +659,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplicar" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Engadir" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "Widget non controlado" @@ -790,10 +899,6 @@ msgstr "Campos a exportar" msgid "Save fields list" msgstr "Gardar lista de campos" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Eliminar" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Eliminar Todo" @@ -810,10 +915,6 @@ msgstr " " msgid "Save as:" msgstr "Gardar como:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Exportacións gardadas:" diff --git a/addons/web/po/hr.po b/addons/web/po/hr.po index 81e8d84b409..316901899b6 100644 --- a/addons/web/po/hr.po +++ b/addons/web/po/hr.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-08 16:49+0000\n" "Last-Translator: Goran Kliska \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "U redu" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Odustani" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Snimi" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Zatvori" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "Uvezi datoteku" @@ -31,163 +88,211 @@ msgstr "Uvezi datoteku" msgid "External ID" msgstr "External ID" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "Upis filtera" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Odustani" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "U redu" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "Dodaj na nadzornu ploču" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" "neispravna vrijednost za polje %(fieldname)s: [%(value)s] is %(message)s" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "nije cijeli broj" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "nije ispravan broj" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "sadrži" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "ne sadrži" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "je jednako" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "nije jednako" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "veće od" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "manje od" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "veće ili jednako" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "manje ili jednako" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "je" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "nije" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "je istina" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "je laž" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" -msgstr "Želite ukloniti ovaj pogled?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "Da li zaista želite obrisati ovaj čvor?" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "Upozorenje, zapis je promjenjen. Promjene se neće zapisati." - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "Privici" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "   Traži dalje..." - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "   Kreiraj \"%s\"" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "   Kreiraj i uredi..." - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "Kreiraj" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "Uredi" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Ukloni" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "Želite ukloniti ovaj pogled?" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "Da li zaista želite obrisati ovaj čvor?" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "Upozorenje, zapis je promjenjen. Promjene se neće zapisati." + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "Privici" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "   Traži dalje..." + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "   Kreiraj \"%s\"" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "   Kreiraj i uredi..." + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "Dodaj" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "Neograničen" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "Zaista želite obrisati ove zapise?" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "Nedefiniran" @@ -195,83 +300,79 @@ msgstr "Nedefiniran" msgid "Do you really want to delete this record?" msgstr "Da li zaista želite obrisati ovaj zapis?" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "Traži: " -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "Prilagodi" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "Upravljanje pogledima" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "Pogledi trenutnog objekta" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "Uredi tijek rada" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "Prilagodi objekt" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "Prevedi" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "Tehnički prijevod" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "Ostale postavke" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Uvoz" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Izvoz" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "Prikaži zapisnik" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "Izvještaji" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "Akcije" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "Poveznice" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Odaberite barem jedan zapis." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Upozorenje" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Prijevodi" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Snimi" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -384,10 +485,6 @@ msgstr "Nova glavna zaporka:" msgid "Confirm new master password:" msgstr "Potvrdi glavnu zaporku:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Korisnik:" @@ -483,14 +580,34 @@ msgstr "Sakrij savjet" msgid "Disable all tips" msgstr "Sakrij sve savjete" -#: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "Pogled#" - #: addons/web/static/src/xml/base.xml:0 msgid "More…" msgstr "Više..." +#: addons/web/static/src/xml/base.xml:0 +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" +msgstr "" + #: addons/web/static/src/xml/base.xml:0 msgid "Field" msgstr "Polje" @@ -535,18 +652,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "Uredi" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Dupliciraj" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Dodaj" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -779,10 +888,6 @@ msgstr "Polja za izvoz" msgid "Save fields list" msgstr "Snimi popis polja" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Ukloni" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Ukloni sve" @@ -799,10 +904,6 @@ msgstr " " msgid "Save as:" msgstr "Spremi kao:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "U redu" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Snimljeni izvozi" diff --git a/addons/web/po/it.po b/addons/web/po/it.po index 3e6f66e4e52..f0f483d308d 100644 --- a/addons/web/po/it.po +++ b/addons/web/po/it.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-08 13:39+0000\n" "Last-Translator: Nicola Riolini - Micronaet \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Annulla" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Salva" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Chiudi" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,164 +88,212 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Annulla" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Crea" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Rimuovi" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Attenzione, il record è stato modificato, i vostri cambiamenti verranno " "scartati." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "   Cerca ancora..." -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "   Crea \"%s\"" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "   Crea e modifica..." -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Crea" +msgid "Add" +msgstr "Aggiungi" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -196,83 +301,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importa" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Esporta" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "E' necessario selezionare almeno un record." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Attenzione" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Traduzioni" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Salva" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -385,10 +486,6 @@ msgstr "Nuova password principale:" msgid "Confirm new master password:" msgstr "Conferma nuova password principale" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Utente:" @@ -493,11 +590,31 @@ msgid "Disable all tips" msgstr "Disabilita tutti i consigli" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "Vista à" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -544,18 +661,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplica" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Aggiungi" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -788,10 +897,6 @@ msgstr "Campi da esportare" msgid "Save fields list" msgstr "Salva l'elenco dei campi" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Rimuovi" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Rimuovi tutto" @@ -808,10 +913,6 @@ msgstr " " msgid "Save as:" msgstr "Salva come:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Esportazioni salvate:" diff --git a/addons/web/po/nl.po b/addons/web/po/nl.po index c9066b9a7df..47addfaf4fc 100644 --- a/addons/web/po/nl.po +++ b/addons/web/po/nl.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-06 11:39+0000\n" "Last-Translator: Douwe Wullink (Dypalio) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:22+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Annuleren" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Opslaan" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Sluiten" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "Bestand importeren" @@ -31,162 +88,210 @@ msgstr "Bestand importeren" msgid "External ID" msgstr "Externe ID" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "Filter regel" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Annuleren" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "OK" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "Aan dashboard toevoegen" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "Ongeldige zoekopdracht" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "Onjuiste waarde bij veld %(fieldname)s: [%(value)s] is %(message)s" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "geen geldig geheel getal" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "geen geldig getal" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "bevat" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "bevat niet" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "is gelijk aan" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "is niet gelijk aan" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "is groter dan" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "kleiner dan" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "is groter of gelijk aan" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "is kleiner of gelijk aan" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "is" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "is niet" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "is waar" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "is onwaar" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" -msgstr "Wilt u deze weergave werkelijk verwijderen?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "Wilt u dit knooppunt werkelijk verwijderen?" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "Letop: het record is gewijzigd; uw wijzigingen gaan verloren." - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "Bijlages" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "   Zoek verder..." - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "   Maak \"%s\"" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "   Maak en wijzig..." - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "Maken" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "Wijzigen" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Verwijderen" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "Wilt u deze weergave werkelijk verwijderen?" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "Wilt u dit knooppunt werkelijk verwijderen?" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "Letop: het record is gewijzigd; uw wijzigingen gaan verloren." + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "Bijlages" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "   Zoek verder..." + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "   Maak \"%s\"" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "   Maak en wijzig..." + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "Toevoegen" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "Onbeperkt" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "Wilt u deze records werkelijk verwijderen?" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "Onbepaald" @@ -194,83 +299,79 @@ msgstr "Onbepaald" msgid "Do you really want to delete this record?" msgstr "Wilt u dit record werkelijk verwijderen?" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "Zoeken: " -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "Aanpassen" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "Weergaven beheren" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "Weergaven van huidig object beheren" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "Workflow wijzigen" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "Object aanpassen" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "Vertalen" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "Technische vertaling" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "Overige opties" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importeren" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Exporteren" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "Log bekijken" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "Overzichten" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "Acties" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "Verwijzingen" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "U moet tenminste één record kiezen." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Waarschuwing" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Vertalingen" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Opslaan" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -383,10 +484,6 @@ msgstr "Nieuw master wachtwoord:" msgid "Confirm new master password:" msgstr "Bevestig nieuw master wachtwoord:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Gebruiker:" @@ -490,14 +587,34 @@ msgstr "Verberg deze tip" msgid "Disable all tips" msgstr "Alle tips uitzetten" -#: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "View#" - #: addons/web/static/src/xml/base.xml:0 msgid "More…" msgstr "Meer..." +#: addons/web/static/src/xml/base.xml:0 +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" +msgstr "" + #: addons/web/static/src/xml/base.xml:0 msgid "Field" msgstr "Veld" @@ -542,18 +659,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "Wijzigen" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Dupliceren" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Toevoegen" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -790,10 +899,6 @@ msgstr "Te exporteren velden" msgid "Save fields list" msgstr "Veldenlijst opslaan" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Verwijderen" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Alles verwijderen" @@ -810,10 +915,6 @@ msgstr " " msgid "Save as:" msgstr "Opslaan als:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Opgeslagen exports:" diff --git a/addons/web/po/nl_BE.po b/addons/web/po/nl_BE.po index 976273d5d38..195a6098d2c 100644 --- a/addons/web/po/nl_BE.po +++ b/addons/web/po/nl_BE.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 12:50+0000\n" "Last-Translator: Niels Huylebroeck \n" "Language-Team: Dutch (Belgium) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Annuleren" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Opslaan" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Sluiten" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,164 +88,212 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Annuleren" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Creër" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Verwijderen" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Opgelet, het record werd gewijzigd, uw veranderingen zullen niet opgeslagen " "worden." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "   Uitgebreid zoeken..." -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "   Creër \"%s\"" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "   Creër en bewerk..." -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Creër" +msgid "Add" +msgstr "Toevoegen" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -196,83 +301,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importeren" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Exporteren" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "U moet minstens een record selecteren." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Waarschuwing" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Vertalingen" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Opslaan" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -385,10 +486,6 @@ msgstr "Nieuw master wachtwoord:" msgid "Confirm new master password:" msgstr "Bevestig nieuw master wachtwoord:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Gebruiker:" @@ -493,11 +590,31 @@ msgid "Disable all tips" msgstr "Verberg alle tips" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "View#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -544,18 +661,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Dupliceer" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Toevoegen" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "Niet-verwerkbare widget" @@ -788,10 +897,6 @@ msgstr "Te exporteren velden" msgid "Save fields list" msgstr "Export definitie opslaan" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Verwijderen" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Alles verwijderen" @@ -808,10 +913,6 @@ msgstr " " msgid "Save as:" msgstr "Opslaan als:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Export definities" diff --git a/addons/web/po/pl.po b/addons/web/po/pl.po index 169a13b2cd7..3fb7eeb804e 100644 --- a/addons/web/po/pl.po +++ b/addons/web/po/pl.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-04 16:44+0000\n" "Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Anuluj" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Zapisz" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Zamknij" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Anuluj" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "Uwaga, rekord został zmodyfikowany, twoje zmiany zostaną odrzucone." - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "   Szukaj dalej..." - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "   Utwórz \"%s\"" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "   Utwórz i edytuj..." - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "Utwórz" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Usuń" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "Uwaga, rekord został zmodyfikowany, twoje zmiany zostaną odrzucone." + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "   Szukaj dalej..." + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "   Utwórz \"%s\"" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "   Utwórz i edytuj..." + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "Dodaj" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importuj" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Eksportuj" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Musisz wybrac co najmniej jeden rekord." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Ostrzeżenie" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Tłumaczenia" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Zapisz" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -383,10 +484,6 @@ msgstr "Nowe hasło nadrzędne:" msgid "Confirm new master password:" msgstr "Potwierdź nowe hasło nadrzędne:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Użytkownik:" @@ -486,11 +583,31 @@ msgid "Disable all tips" msgstr "Wyłącz wszystkie wskazówki" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -537,18 +654,10 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplikuj" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Dodaj" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -785,10 +894,6 @@ msgstr "Pola do eksportu" msgid "Save fields list" msgstr "Zapisz listę pól" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Usuń" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Usuń wszystko" @@ -805,10 +910,6 @@ msgstr "" msgid "Save as:" msgstr "Zapisz jako:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Zapisane eksporty" diff --git a/addons/web/po/pt.po b/addons/web/po/pt.po index c0c8661cd24..ad35a3478b3 100644 --- a/addons/web/po/pt.po +++ b/addons/web/po/pt.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-21 22:22+0000\n" "Last-Translator: Daniel Reis \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Cancelar" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Guardar" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Fechar" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,163 +88,211 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Cancelar" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Criar" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Remover" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Atenção, o o registo foi modificado, as suas alterações serão descartadas." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "" -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "" -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Criar" +msgid "Add" +msgstr "Acrescentar" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -195,83 +300,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importar" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Exportar" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Escolha pelo menos um registo." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Aviso" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Traduções" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Guardar" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -384,10 +485,6 @@ msgstr "" msgid "Confirm new master password:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Utilizador:" @@ -492,11 +589,31 @@ msgid "Disable all tips" msgstr "Desativar todas as dicas" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -543,18 +660,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplicar" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Acrescentar" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "Widget não tratado" @@ -787,10 +896,6 @@ msgstr "Campos a exportar" msgid "Save fields list" msgstr "Gravar lista de campos" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Remover" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Remover tudo" @@ -807,10 +912,6 @@ msgstr " " msgid "Save as:" msgstr "Guardar como:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Exportações guardadas:" diff --git a/addons/web/po/pt_BR.po b/addons/web/po/pt_BR.po index a2304ebc865..4571e339448 100644 --- a/addons/web/po/pt_BR.po +++ b/addons/web/po/pt_BR.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-12 18:57+0000\n" "Last-Translator: Cristiano Gavião \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Ok" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Cancelar" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Fechar" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Cancelar" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "Aviso, o registro foi modificado, suas alterações serão descartadas." - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "   Procurar Mais..." - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "" - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "Criar" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Remover" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "Aviso, o registro foi modificado, suas alterações serão descartadas." + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "   Procurar Mais..." + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "" + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "Adicionar" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Importar" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Exportar" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -383,10 +484,6 @@ msgstr "Nova senha mestre:" msgid "Confirm new master password:" msgstr "Confirme nova senha mestre" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Usuário:" @@ -489,11 +586,31 @@ msgid "Disable all tips" msgstr "Desligar todas as dicas" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -540,18 +657,10 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Duplicar" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Adicionar" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -784,10 +893,6 @@ msgstr "Campos para exportar" msgid "Save fields list" msgstr "Salvar lista de campos" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Remover" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Remover Tudo" @@ -804,10 +909,6 @@ msgstr " " msgid "Save as:" msgstr "Salvar como:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Ok" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "" diff --git a/addons/web/po/ru.po b/addons/web/po/ru.po index ba0d1528904..628d89fb34b 100644 --- a/addons/web/po/ru.po +++ b/addons/web/po/ru.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-06 08:05+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "" - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "" - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "" - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "" + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "" + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "" + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -383,10 +484,6 @@ msgstr "" msgid "Confirm new master password:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "" @@ -483,11 +580,31 @@ msgid "Disable all tips" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" +msgid "More…" msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -534,18 +651,10 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -778,10 +887,6 @@ msgstr "" msgid "Save fields list" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "" @@ -798,10 +903,6 @@ msgstr "" msgid "Save as:" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "" diff --git a/addons/web/po/sl.po b/addons/web/po/sl.po index 965238f06c9..c7e677c5764 100644 --- a/addons/web/po/sl.po +++ b/addons/web/po/sl.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 07:07+0000\n" "Last-Translator: Anze (Neotek) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "Vredu" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "Prekliči" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "Shrani" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "Zapri" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,163 +88,211 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "Prekliči" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 +#: addons/web/static/src/xml/base.xml:0 +msgid "Create" +msgstr "Ustvari" + +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "Odstrani" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 msgid "Do you really want to remove this view?" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 msgid "Do you really want to remove this node?" msgstr "" -#: addons/web/static/src/js/view_form.js:387 +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 msgid "" "Warning, the record has been modified, your changes will be discarded." msgstr "" "Opozorilo, zapis je bil spremenjen, zato bodo vaše spremembe zavržene." -#: addons/web/static/src/js/view_form.js:595 +#: addons/web/static/src/js/view_form.js:592 msgid "Attachments" msgstr "" -#: addons/web/static/src/js/view_form.js:1823 +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 msgid "   Search More..." msgstr "   Iskanje več..." -#: addons/web/static/src/js/view_form.js:1836 +#: addons/web/static/src/js/view_form.js:1828 #, python-format msgid "   Create \"%s\"" msgstr "   Ustvari \"%s\"" -#: addons/web/static/src/js/view_form.js:1842 +#: addons/web/static/src/js/view_form.js:1834 msgid "   Create and Edit..." msgstr "   Ustvari in uredi..." -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_form.js:2377 #: addons/web/static/src/xml/base.xml:0 -msgid "Create" -msgstr "Ustvari" +msgid "Add" +msgstr "Dodaj" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -195,83 +300,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "Uvozi" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "Izvozi" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "Izbrati morate vsaj en zapis." -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "Opozorilo" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "Prevodi" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "Shrani" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "x" @@ -384,10 +485,6 @@ msgstr "Novo glavno geslo:" msgid "Confirm new master password:" msgstr "Potrdi novo glavno geslo:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "Uporabnik:" @@ -490,11 +587,31 @@ msgid "Disable all tips" msgstr "Onemogoči vse namige" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "Ogled#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -541,18 +658,10 @@ msgstr "/" msgid ">>" msgstr ">>" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "Podvoji" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "Dodaj" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "Neobravnavani gradnik" @@ -789,10 +898,6 @@ msgstr "Polja za izvoz" msgid "Save fields list" msgstr "Shrani seznam polj" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "Odstrani" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "Odstrani vse" @@ -809,10 +914,6 @@ msgstr " " msgid "Save as:" msgstr "Shrani kot:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "Vredu" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "Shranjeni izvozi:" diff --git a/addons/web/po/zh_TW.po b/addons/web/po/zh_TW.po index d8dd16a741a..aa2d2077296 100644 --- a/addons/web/po/zh_TW.po +++ b/addons/web/po/zh_TW.po @@ -7,22 +7,79 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-04 16:06+0000\n" "Last-Translator: Walter Cheuk \n" "Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" +#: addons/web/static/src/js/chrome.js:162 +#: addons/web/static/src/js/chrome.js:175 +#: addons/web/static/src/js/chrome.js:369 +#: addons/web/static/src/js/view_form.js:341 +#: addons/web/static/src/js/view_form.js:1055 +#: addons/web/static/src/xml/base.xml:0 +msgid "Ok" +msgstr "" + +#: addons/web/static/src/js/chrome.js:678 +msgid "About" +msgstr "" + +#: addons/web/static/src/js/chrome.js:758 +msgid "Preferences" +msgstr "" + +#: addons/web/static/src/js/chrome.js:762 +msgid "Change password" +msgstr "" + +#: addons/web/static/src/js/chrome.js:763 +#: addons/web/static/src/js/search.js:235 +#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/view_editor.js:97 +#: addons/web/static/src/js/view_editor.js:778 +#: addons/web/static/src/js/view_editor.js:907 +#: addons/web/static/src/js/view_form.js:1062 +#: addons/web/static/src/xml/base.xml:0 +msgid "Cancel" +msgstr "取消" + +#: addons/web/static/src/js/chrome.js:764 +#: addons/web/static/src/js/view_editor.js:75 +#: addons/web/static/src/js/views.js:848 addons/web/static/src/xml/base.xml:0 +msgid "Save" +msgstr "儲存" + +#: addons/web/static/src/js/chrome.js:784 addons/web/static/src/xml/base.xml:0 +msgid "Change Password" +msgstr "" + +#: addons/web/static/src/js/data_export.js:6 +msgid "Export Data" +msgstr "" + +#: addons/web/static/src/js/data_export.js:23 #: addons/web/static/src/js/data_import.js:73 -#: addons/web/static/src/js/view_form.js:2746 -#: addons/web/static/src/js/views.js:803 +#: addons/web/static/src/js/view_editor.js:49 +#: addons/web/static/src/js/view_editor.js:387 +#: addons/web/static/src/js/view_form.js:2741 +#: addons/web/static/src/js/views.js:849 msgid "Close" msgstr "關閉" +#: addons/web/static/src/js/data_export.js:24 +msgid "Export To File" +msgstr "" + +#: addons/web/static/src/js/data_import.js:34 +msgid "Import Data" +msgstr "" + #: addons/web/static/src/js/data_import.js:74 msgid "Import File" msgstr "" @@ -31,162 +88,210 @@ msgstr "" msgid "External ID" msgstr "" -#: addons/web/static/src/js/search.js:230 +#: addons/web/static/src/js/search.js:233 msgid "Filter Entry" msgstr "" -#: addons/web/static/src/js/search.js:232 -#: addons/web/static/src/js/search.js:273 addons/web/static/src/xml/base.xml:0 -msgid "Cancel" -msgstr "取消" - -#: addons/web/static/src/js/search.js:235 -#: addons/web/static/src/js/search.js:276 +#: addons/web/static/src/js/search.js:238 +#: addons/web/static/src/js/search.js:279 msgid "OK" msgstr "" -#: addons/web/static/src/js/search.js:271 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0 msgid "Add to Dashboard" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "Invalid Search" msgstr "" -#: addons/web/static/src/js/search.js:400 +#: addons/web/static/src/js/search.js:403 msgid "triggered from search view" msgstr "" -#: addons/web/static/src/js/search.js:482 +#: addons/web/static/src/js/search.js:490 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" -#: addons/web/static/src/js/search.js:803 +#: addons/web/static/src/js/search.js:811 msgid "not a valid integer" msgstr "" -#: addons/web/static/src/js/search.js:817 +#: addons/web/static/src/js/search.js:825 msgid "not a valid number" msgstr "" -#: addons/web/static/src/js/search.js:1233 +#: addons/web/static/src/js/search.js:1241 msgid "contains" msgstr "" -#: addons/web/static/src/js/search.js:1234 +#: addons/web/static/src/js/search.js:1242 msgid "doesn't contain" msgstr "" -#: addons/web/static/src/js/search.js:1235 -#: addons/web/static/src/js/search.js:1250 -#: addons/web/static/src/js/search.js:1270 -#: addons/web/static/src/js/search.js:1290 -#: addons/web/static/src/js/search.js:1312 +#: addons/web/static/src/js/search.js:1243 +#: addons/web/static/src/js/search.js:1258 +#: addons/web/static/src/js/search.js:1278 +#: addons/web/static/src/js/search.js:1298 +#: addons/web/static/src/js/search.js:1320 msgid "is equal to" msgstr "" -#: addons/web/static/src/js/search.js:1236 -#: addons/web/static/src/js/search.js:1251 -#: addons/web/static/src/js/search.js:1271 -#: addons/web/static/src/js/search.js:1291 -#: addons/web/static/src/js/search.js:1313 +#: addons/web/static/src/js/search.js:1244 +#: addons/web/static/src/js/search.js:1259 +#: addons/web/static/src/js/search.js:1279 +#: addons/web/static/src/js/search.js:1299 +#: addons/web/static/src/js/search.js:1321 msgid "is not equal to" msgstr "" -#: addons/web/static/src/js/search.js:1237 -#: addons/web/static/src/js/search.js:1252 -#: addons/web/static/src/js/search.js:1272 -#: addons/web/static/src/js/search.js:1292 -#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1245 +#: addons/web/static/src/js/search.js:1260 +#: addons/web/static/src/js/search.js:1280 +#: addons/web/static/src/js/search.js:1300 +#: addons/web/static/src/js/search.js:1322 msgid "greater than" msgstr "" -#: addons/web/static/src/js/search.js:1238 -#: addons/web/static/src/js/search.js:1253 -#: addons/web/static/src/js/search.js:1273 -#: addons/web/static/src/js/search.js:1293 -#: addons/web/static/src/js/search.js:1315 +#: addons/web/static/src/js/search.js:1246 +#: addons/web/static/src/js/search.js:1261 +#: addons/web/static/src/js/search.js:1281 +#: addons/web/static/src/js/search.js:1301 +#: addons/web/static/src/js/search.js:1323 msgid "less than" msgstr "" -#: addons/web/static/src/js/search.js:1239 -#: addons/web/static/src/js/search.js:1254 -#: addons/web/static/src/js/search.js:1274 -#: addons/web/static/src/js/search.js:1294 -#: addons/web/static/src/js/search.js:1316 +#: addons/web/static/src/js/search.js:1247 +#: addons/web/static/src/js/search.js:1262 +#: addons/web/static/src/js/search.js:1282 +#: addons/web/static/src/js/search.js:1302 +#: addons/web/static/src/js/search.js:1324 msgid "greater or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1240 -#: addons/web/static/src/js/search.js:1255 -#: addons/web/static/src/js/search.js:1275 -#: addons/web/static/src/js/search.js:1295 -#: addons/web/static/src/js/search.js:1317 +#: addons/web/static/src/js/search.js:1248 +#: addons/web/static/src/js/search.js:1263 +#: addons/web/static/src/js/search.js:1283 +#: addons/web/static/src/js/search.js:1303 +#: addons/web/static/src/js/search.js:1325 msgid "less or equal than" msgstr "" -#: addons/web/static/src/js/search.js:1306 -#: addons/web/static/src/js/search.js:1331 +#: addons/web/static/src/js/search.js:1314 +#: addons/web/static/src/js/search.js:1339 msgid "is" msgstr "" -#: addons/web/static/src/js/search.js:1332 +#: addons/web/static/src/js/search.js:1340 msgid "is not" msgstr "" -#: addons/web/static/src/js/search.js:1345 +#: addons/web/static/src/js/search.js:1353 msgid "is true" msgstr "" -#: addons/web/static/src/js/search.js:1346 +#: addons/web/static/src/js/search.js:1354 msgid "is false" msgstr "" -#: addons/web/static/src/js/view_editor.js:181 -msgid "Do you really want to remove this view?" +#: addons/web/static/src/js/view_editor.js:42 +msgid "ViewEditor" msgstr "" -#: addons/web/static/src/js/view_editor.js:453 -msgid "Do you really want to remove this node?" -msgstr "" - -#: addons/web/static/src/js/view_form.js:387 -msgid "" -"Warning, the record has been modified, your changes will be discarded." -msgstr "" - -#: addons/web/static/src/js/view_form.js:595 -msgid "Attachments" -msgstr "" - -#: addons/web/static/src/js/view_form.js:1823 -msgid "   Search More..." -msgstr "   搜尋更多..." - -#: addons/web/static/src/js/view_form.js:1836 -#, python-format -msgid "   Create \"%s\"" -msgstr "   建立「%s」" - -#: addons/web/static/src/js/view_form.js:1842 -msgid "   Create and Edit..." -msgstr "   建立並編輯..." - -#: addons/web/static/src/js/view_list.js:14 +#: addons/web/static/src/js/view_editor.js:46 +#: addons/web/static/src/js/view_list.js:15 #: addons/web/static/src/xml/base.xml:0 msgid "Create" msgstr "建立" -#: addons/web/static/src/js/view_list.js:263 +#: addons/web/static/src/js/view_editor.js:47 +#: addons/web/static/src/xml/base.xml:0 +msgid "Edit" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:48 +#: addons/web/static/src/xml/base.xml:0 +msgid "Remove" +msgstr "移除" + +#: addons/web/static/src/js/view_editor.js:71 +#, python-format +msgid "Create a view (%s)" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:170 +msgid "Do you really want to remove this view?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:367 +#, python-format +msgid "View Editor %d - %s" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:371 +msgid "Preview" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:442 +msgid "Do you really want to remove this node?" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:756 +#: addons/web/static/src/js/view_editor.js:883 +msgid "Properties" +msgstr "" + +#: addons/web/static/src/js/view_editor.js:760 +#: addons/web/static/src/js/view_editor.js:887 +msgid "Update" +msgstr "" + +#: addons/web/static/src/js/view_form.js:384 +msgid "" +"Warning, the record has been modified, your changes will be discarded." +msgstr "" + +#: addons/web/static/src/js/view_form.js:592 +msgid "Attachments" +msgstr "" + +#: addons/web/static/src/js/view_form.js:630 +#, python-format +msgid "Do you really want to delete the attachment %s?" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1052 +msgid "Confirm" +msgstr "" + +#: addons/web/static/src/js/view_form.js:1815 +msgid "   Search More..." +msgstr "   搜尋更多..." + +#: addons/web/static/src/js/view_form.js:1828 +#, python-format +msgid "   Create \"%s\"" +msgstr "   建立「%s」" + +#: addons/web/static/src/js/view_form.js:1834 +msgid "   Create and Edit..." +msgstr "   建立並編輯..." + +#: addons/web/static/src/js/view_form.js:2377 +#: addons/web/static/src/xml/base.xml:0 +msgid "Add" +msgstr "添加" + +#: addons/web/static/src/js/view_list.js:265 msgid "Unlimited" msgstr "" -#: addons/web/static/src/js/view_list.js:483 +#: addons/web/static/src/js/view_list.js:488 msgid "Do you really want to remove these records?" msgstr "" -#: addons/web/static/src/js/view_list.js:1159 +#: addons/web/static/src/js/view_list.js:1167 msgid "Undefined" msgstr "" @@ -194,83 +299,79 @@ msgstr "" msgid "Do you really want to delete this record?" msgstr "" -#: addons/web/static/src/js/views.js:518 +#: addons/web/static/src/js/views.js:572 msgid "Search: " msgstr "" -#: addons/web/static/src/js/views.js:621 +#: addons/web/static/src/js/views.js:687 msgid "Customize" msgstr "" -#: addons/web/static/src/js/views.js:624 +#: addons/web/static/src/js/views.js:690 msgid "Manage Views" msgstr "" -#: addons/web/static/src/js/views.js:626 addons/web/static/src/js/views.js:630 -#: addons/web/static/src/js/views.js:635 +#: addons/web/static/src/js/views.js:692 addons/web/static/src/js/views.js:696 +#: addons/web/static/src/js/views.js:701 msgid "Manage views of the current object" msgstr "" -#: addons/web/static/src/js/views.js:628 +#: addons/web/static/src/js/views.js:694 msgid "Edit Workflow" msgstr "" -#: addons/web/static/src/js/views.js:633 +#: addons/web/static/src/js/views.js:699 msgid "Customize Object" msgstr "" -#: addons/web/static/src/js/views.js:637 +#: addons/web/static/src/js/views.js:703 msgid "Translate" msgstr "" -#: addons/web/static/src/js/views.js:639 +#: addons/web/static/src/js/views.js:705 msgid "Technical translation" msgstr "" -#: addons/web/static/src/js/views.js:644 +#: addons/web/static/src/js/views.js:710 msgid "Other Options" msgstr "" -#: addons/web/static/src/js/views.js:647 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:713 addons/web/static/src/xml/base.xml:0 msgid "Import" msgstr "匯入" -#: addons/web/static/src/js/views.js:650 addons/web/static/src/xml/base.xml:0 +#: addons/web/static/src/js/views.js:716 addons/web/static/src/xml/base.xml:0 msgid "Export" msgstr "匯出" -#: addons/web/static/src/js/views.js:653 +#: addons/web/static/src/js/views.js:719 msgid "View Log" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Reports" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Actions" msgstr "" -#: addons/web/static/src/js/views.js:682 +#: addons/web/static/src/js/views.js:728 msgid "Links" msgstr "" -#: addons/web/static/src/js/views.js:762 +#: addons/web/static/src/js/views.js:808 msgid "You must choose at least one record." msgstr "要選擇至少一個紀錄。" -#: addons/web/static/src/js/views.js:763 +#: addons/web/static/src/js/views.js:809 msgid "Warning" msgstr "警告" -#: addons/web/static/src/js/views.js:797 +#: addons/web/static/src/js/views.js:843 msgid "Translations" msgstr "翻譯" -#: addons/web/static/src/js/views.js:802 addons/web/static/src/xml/base.xml:0 -msgid "Save" -msgstr "儲存" - #: addons/web/static/src/xml/base.xml:0 msgid "x" msgstr "" @@ -383,10 +484,6 @@ msgstr "新主密碼:" msgid "Confirm new master password:" msgstr "確認新主密碼:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Change Password" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "User:" msgstr "使用者:" @@ -483,11 +580,31 @@ msgid "Disable all tips" msgstr "停用所有提示" #: addons/web/static/src/xml/base.xml:0 -msgid "View#" -msgstr "檢視#" +msgid "More…" +msgstr "" #: addons/web/static/src/xml/base.xml:0 -msgid "More…" +msgid "Debug View#" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Fields View Get" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "View" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit SearchView" +msgstr "" + +#: addons/web/static/src/xml/base.xml:0 +msgid "- Edit Action" msgstr "" #: addons/web/static/src/xml/base.xml:0 @@ -534,18 +651,10 @@ msgstr "" msgid ">>" msgstr "" -#: addons/web/static/src/xml/base.xml:0 -msgid "Edit" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Duplicate" msgstr "製作複本" -#: addons/web/static/src/xml/base.xml:0 -msgid "Add" -msgstr "添加" - #: addons/web/static/src/xml/base.xml:0 msgid "Unhandled widget" msgstr "" @@ -778,10 +887,6 @@ msgstr "要匯出欄位" msgid "Save fields list" msgstr "儲存欄位清單" -#: addons/web/static/src/xml/base.xml:0 -msgid "Remove" -msgstr "移除" - #: addons/web/static/src/xml/base.xml:0 msgid "Remove All" msgstr "全部移除" @@ -798,10 +903,6 @@ msgstr "" msgid "Save as:" msgstr "另存為:" -#: addons/web/static/src/xml/base.xml:0 -msgid "Ok" -msgstr "" - #: addons/web/static/src/xml/base.xml:0 msgid "Saved exports:" msgstr "已儲存匯出:" diff --git a/addons/web_calendar/po/ar.po b/addons/web_calendar/po/ar.po index 446d8124de9..64e159264b1 100644 --- a/addons/web_calendar/po/ar.po +++ b/addons/web_calendar/po/ar.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-03 15:02+0000\n" "Last-Translator: kifcaliph \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/bn.po b/addons/web_calendar/po/bn.po index e1ca16cf797..829ea9a7053 100644 --- a/addons/web_calendar/po/bn.po +++ b/addons/web_calendar/po/bn.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-24 12:51+0000\n" "Last-Translator: nasir khan saikat \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/da.po b/addons/web_calendar/po/da.po index 0c1688ed692..fbe2fcf407b 100644 --- a/addons/web_calendar/po/da.po +++ b/addons/web_calendar/po/da.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-11 13:57+0000\n" "Last-Translator: Jonas Mortensen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/de.po b/addons/web_calendar/po/de.po index 02881584f8a..0aa10b88b26 100644 --- a/addons/web_calendar/po/de.po +++ b/addons/web_calendar/po/de.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-08 08:35+0000\n" "Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "Verantwortlich" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "Browser" diff --git a/addons/web_calendar/po/es.po b/addons/web_calendar/po/es.po index ae3b91a55d9..3f2834a6d36 100644 --- a/addons/web_calendar/po/es.po +++ b/addons/web_calendar/po/es.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-18 10:41+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/es_EC.po b/addons/web_calendar/po/es_EC.po index 6354acf523e..71d1a5fea10 100644 --- a/addons/web_calendar/po/es_EC.po +++ b/addons/web_calendar/po/es_EC.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 15:54+0000\n" "Last-Translator: Cristian Salamea (Gnuthink) \n" "Language-Team: Spanish (Ecuador) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/et.po b/addons/web_calendar/po/et.po index 26dbdeb9436..dc9853708f6 100644 --- a/addons/web_calendar/po/et.po +++ b/addons/web_calendar/po/et.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-10 19:20+0000\n" "Last-Translator: Aare Vesi \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/fr.po b/addons/web_calendar/po/fr.po index 8901a7a6810..0bab75100d9 100644 --- a/addons/web_calendar/po/fr.po +++ b/addons/web_calendar/po/fr.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-23 12:12+0000\n" "Last-Translator: fhe (OpenERP) \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/gl.po b/addons/web_calendar/po/gl.po index b9003e5acd6..eeb24b57b03 100644 --- a/addons/web_calendar/po/gl.po +++ b/addons/web_calendar/po/gl.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 10:25+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/hr.po b/addons/web_calendar/po/hr.po index 09546323077..f04b1aa7ef2 100644 --- a/addons/web_calendar/po/hr.po +++ b/addons/web_calendar/po/hr.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-08 16:34+0000\n" "Last-Translator: Goran Kliska \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "Odgovoran" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "Navigator" diff --git a/addons/web_calendar/po/it.po b/addons/web_calendar/po/it.po index ae609f65198..70683361c1c 100644 --- a/addons/web_calendar/po/it.po +++ b/addons/web_calendar/po/it.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-08 13:39+0000\n" "Last-Translator: Nicola Riolini - Micronaet \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/nl.po b/addons/web_calendar/po/nl.po index 7a599360b9e..c11a44ae613 100644 --- a/addons/web_calendar/po/nl.po +++ b/addons/web_calendar/po/nl.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-06 11:46+0000\n" "Last-Translator: Douwe Wullink (Dypalio) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "Verantwoordelijke" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "Navigator" diff --git a/addons/web_calendar/po/nl_BE.po b/addons/web_calendar/po/nl_BE.po index 0a118b167f0..f297f60d5c3 100644 --- a/addons/web_calendar/po/nl_BE.po +++ b/addons/web_calendar/po/nl_BE.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 09:05+0000\n" "Last-Translator: Niels Huylebroeck \n" "Language-Team: Dutch (Belgium) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/pt.po b/addons/web_calendar/po/pt.po index c2ba81fa17a..30650fa6e18 100644 --- a/addons/web_calendar/po/pt.po +++ b/addons/web_calendar/po/pt.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-21 21:57+0000\n" "Last-Translator: Daniel Reis \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/ru.po b/addons/web_calendar/po/ru.po index 334768e648f..db455b908c4 100644 --- a/addons/web_calendar/po/ru.po +++ b/addons/web_calendar/po/ru.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-02 07:07+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/sk.po b/addons/web_calendar/po/sk.po index 90cc1449a4a..449ee7562c4 100644 --- a/addons/web_calendar/po/sk.po +++ b/addons/web_calendar/po/sk.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-23 14:42+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/sl.po b/addons/web_calendar/po/sl.po index 01d241d70ed..f66ed51ef90 100644 --- a/addons/web_calendar/po/sl.po +++ b/addons/web_calendar/po/sl.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 06:26+0000\n" "Last-Translator: Anze (Neotek) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_calendar/po/uk.po b/addons/web_calendar/po/uk.po index 5771836f851..cf848848bdb 100644 --- a/addons/web_calendar/po/uk.po +++ b/addons/web_calendar/po/uk.po @@ -7,21 +7,21 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-07 16:53+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" -#: addons/web_calendar/static/src/js/calendar.js:412 +#: addons/web_calendar/static/src/js/calendar.js:444 msgid "Responsible" msgstr "" -#: addons/web_calendar/static/src/js/calendar.js:441 +#: addons/web_calendar/static/src/js/calendar.js:473 msgid "Navigator" msgstr "" diff --git a/addons/web_dashboard/po/ar.po b/addons/web_dashboard/po/ar.po index b360ea1eb8b..418a06b327c 100644 --- a/addons/web_dashboard/po/ar.po +++ b/addons/web_dashboard/po/ar.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-03 15:09+0000\n" "Last-Translator: kifcaliph \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/bn.po b/addons/web_dashboard/po/bn.po index daf28c2911c..0ac4c5ce5a6 100644 --- a/addons/web_dashboard/po/bn.po +++ b/addons/web_dashboard/po/bn.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-24 12:53+0000\n" "Last-Translator: nasir khan saikat \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/da.po b/addons/web_dashboard/po/da.po index 29af7d5f646..925e6860719 100644 --- a/addons/web_dashboard/po/da.po +++ b/addons/web_dashboard/po/da.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-11 13:59+0000\n" "Last-Translator: Jonas Mortensen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/de.po b/addons/web_dashboard/po/de.po index 0decad70bbb..c2dd6ddcbd2 100644 --- a/addons/web_dashboard/po/de.po +++ b/addons/web_dashboard/po/de.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" -"PO-Revision-Date: 2011-12-09 18:42+0000\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" +"PO-Revision-Date: 2011-12-15 21:47+0000\n" "Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "Layout bearbeiten" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" @@ -27,7 +31,7 @@ msgstr "Layout wechseln" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid " " -msgstr "" +msgstr " " #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Create" diff --git a/addons/web_dashboard/po/es.po b/addons/web_dashboard/po/es.po index 7773640241c..5e3b25a3712 100644 --- a/addons/web_dashboard/po/es.po +++ b/addons/web_dashboard/po/es.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-18 10:44+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/es_EC.po b/addons/web_dashboard/po/es_EC.po index 1e6c481efbe..7c2ac133dbe 100644 --- a/addons/web_dashboard/po/es_EC.po +++ b/addons/web_dashboard/po/es_EC.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 15:56+0000\n" "Last-Translator: Cristian Salamea (Gnuthink) \n" "Language-Team: Spanish (Ecuador) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/et.po b/addons/web_dashboard/po/et.po index b54b7715876..1e4fcda51ab 100644 --- a/addons/web_dashboard/po/et.po +++ b/addons/web_dashboard/po/et.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-10 19:29+0000\n" "Last-Translator: Aare Vesi \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/fr.po b/addons/web_dashboard/po/fr.po index 8948e699bde..76128d4ca37 100644 --- a/addons/web_dashboard/po/fr.po +++ b/addons/web_dashboard/po/fr.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-23 12:11+0000\n" "Last-Translator: Xavier (Open ERP) \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/gl.po b/addons/web_dashboard/po/gl.po index a3a52e94bb3..ecee604be3b 100644 --- a/addons/web_dashboard/po/gl.po +++ b/addons/web_dashboard/po/gl.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 10:29+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/hr.po b/addons/web_dashboard/po/hr.po index c1687e66b3f..fd4be6da63a 100644 --- a/addons/web_dashboard/po/hr.po +++ b/addons/web_dashboard/po/hr.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-08 16:33+0000\n" "Last-Translator: Goran Kliska \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/it.po b/addons/web_dashboard/po/it.po index 428ea0c8726..a4f8d1fab49 100644 --- a/addons/web_dashboard/po/it.po +++ b/addons/web_dashboard/po/it.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 09:00+0000\n" "Last-Translator: Davide Corio - agilebg.com \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/nl.po b/addons/web_dashboard/po/nl.po index 32edf564b61..70971702907 100644 --- a/addons/web_dashboard/po/nl.po +++ b/addons/web_dashboard/po/nl.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-06 11:44+0000\n" "Last-Translator: Douwe Wullink (Dypalio) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:07+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/nl_BE.po b/addons/web_dashboard/po/nl_BE.po index 3933f24cb0d..6359ac19b1c 100644 --- a/addons/web_dashboard/po/nl_BE.po +++ b/addons/web_dashboard/po/nl_BE.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 09:04+0000\n" "Last-Translator: Niels Huylebroeck \n" "Language-Team: Dutch (Belgium) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/pl.po b/addons/web_dashboard/po/pl.po index 2c4c849c1d9..97af9b74544 100644 --- a/addons/web_dashboard/po/pl.po +++ b/addons/web_dashboard/po/pl.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-04 16:28+0000\n" "Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/ru.po b/addons/web_dashboard/po/ru.po index b964a6fa6ce..aff2cf054e9 100644 --- a/addons/web_dashboard/po/ru.po +++ b/addons/web_dashboard/po/ru.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-02 07:09+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/sk.po b/addons/web_dashboard/po/sk.po index 0e068d963a8..4147bb61c42 100644 --- a/addons/web_dashboard/po/sk.po +++ b/addons/web_dashboard/po/sk.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-23 14:45+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_dashboard/po/sl.po b/addons/web_dashboard/po/sl.po index bd18b698e3a..9149171ab95 100644 --- a/addons/web_dashboard/po/sl.po +++ b/addons/web_dashboard/po/sl.po @@ -7,15 +7,19 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 06:25+0000\n" "Last-Translator: Anze (Neotek) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_dashboard/static/src/js/dashboard.js:63 +msgid "Edit Layout" +msgstr "" #: addons/web_dashboard/static/src/xml/web_dashboard.xml:0 msgid "Reset" diff --git a/addons/web_diagram/po/ar.po b/addons/web_diagram/po/ar.po index a7ae6b5518c..2c1b0a3db14 100644 --- a/addons/web_diagram/po/ar.po +++ b/addons/web_diagram/po/ar.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-03 15:11+0000\n" "Last-Translator: kifcaliph \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/bn.po b/addons/web_diagram/po/bn.po index 807af61e80b..1fc653c57d4 100644 --- a/addons/web_diagram/po/bn.po +++ b/addons/web_diagram/po/bn.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-24 12:54+0000\n" "Last-Translator: nasir khan saikat \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/da.po b/addons/web_diagram/po/da.po index f4e32ffcb25..9385039835d 100644 --- a/addons/web_diagram/po/da.po +++ b/addons/web_diagram/po/da.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-08 21:59+0000\n" "Last-Translator: Jonas Mortensen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/de.po b/addons/web_diagram/po/de.po index 49c598b1472..add5d86a072 100644 --- a/addons/web_diagram/po/de.po +++ b/addons/web_diagram/po/de.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" -"PO-Revision-Date: 2011-12-03 10:46+0000\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" +"PO-Revision-Date: 2011-12-15 21:47+0000\n" "Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "Abbrechen" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "Speichern" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/es.po b/addons/web_diagram/po/es.po index 0db8cd4c47e..25fb0d8f1e1 100644 --- a/addons/web_diagram/po/es.po +++ b/addons/web_diagram/po/es.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-18 10:50+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/es_EC.po b/addons/web_diagram/po/es_EC.po index bc314d04bf8..9f0bb8471b5 100644 --- a/addons/web_diagram/po/es_EC.po +++ b/addons/web_diagram/po/es_EC.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 16:02+0000\n" "Last-Translator: Cristian Salamea (Gnuthink) \n" "Language-Team: Spanish (Ecuador) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/et.po b/addons/web_diagram/po/et.po index 32892544fd6..6ebfc7c3fab 100644 --- a/addons/web_diagram/po/et.po +++ b/addons/web_diagram/po/et.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-10 19:24+0000\n" "Last-Translator: Aare Vesi \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/gl.po b/addons/web_diagram/po/gl.po index 5f27411ba3a..db6a75630cf 100644 --- a/addons/web_diagram/po/gl.po +++ b/addons/web_diagram/po/gl.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 10:33+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/hr.po b/addons/web_diagram/po/hr.po index 7ec30dd40a4..6f166c87c36 100644 --- a/addons/web_diagram/po/hr.po +++ b/addons/web_diagram/po/hr.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-08 16:31+0000\n" "Last-Translator: Goran Kliska \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/it.po b/addons/web_diagram/po/it.po index 17c36cc31f6..5200297b8da 100644 --- a/addons/web_diagram/po/it.po +++ b/addons/web_diagram/po/it.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-08 13:41+0000\n" "Last-Translator: Nicola Riolini - Micronaet \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/nl.po b/addons/web_diagram/po/nl.po index c731065fd28..f09817289bc 100644 --- a/addons/web_diagram/po/nl.po +++ b/addons/web_diagram/po/nl.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-06 11:41+0000\n" "Last-Translator: Douwe Wullink (Dypalio) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/nl_BE.po b/addons/web_diagram/po/nl_BE.po index 56f490c514f..b2de7b12b39 100644 --- a/addons/web_diagram/po/nl_BE.po +++ b/addons/web_diagram/po/nl_BE.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 09:08+0000\n" "Last-Translator: Niels Huylebroeck \n" "Language-Team: Dutch (Belgium) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/pl.po b/addons/web_diagram/po/pl.po index 3a5129fe442..649c89b47dd 100644 --- a/addons/web_diagram/po/pl.po +++ b/addons/web_diagram/po/pl.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-04 16:24+0000\n" "Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/ru.po b/addons/web_diagram/po/ru.po index d2481d82d23..4c7433b37d8 100644 --- a/addons/web_diagram/po/ru.po +++ b/addons/web_diagram/po/ru.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-02 07:14+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_diagram/po/sl.po b/addons/web_diagram/po/sl.po index fc6c9c34783..2e944a3c1e1 100644 --- a/addons/web_diagram/po/sl.po +++ b/addons/web_diagram/po/sl.po @@ -7,15 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 06:22+0000\n" "Last-Translator: Anze (Neotek) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" + +#: addons/web_diagram/static/src/js/diagram.js:208 +msgid "Cancel" +msgstr "" + +#: addons/web_diagram/static/src/js/diagram.js:209 +msgid "Save" +msgstr "" #: addons/web_diagram/static/src/xml/base_diagram.xml:0 msgid "New Node" diff --git a/addons/web_gantt/po/de.po b/addons/web_gantt/po/de.po index 1c3caad104b..9dd6d7a55e9 100644 --- a/addons/web_gantt/po/de.po +++ b/addons/web_gantt/po/de.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-09 18:43+0000\n" "Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_gantt/static/src/js/gantt.js:49 msgid "date_start is not defined " diff --git a/addons/web_hello/po/fr.po b/addons/web_hello/po/fr.po index c001a88b9d8..1e9b6a56da4 100644 --- a/addons/web_hello/po/fr.po +++ b/addons/web_hello/po/fr.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-03 02:20+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" diff --git a/addons/web_mobile/po/ar.po b/addons/web_mobile/po/ar.po index 7181654febb..72bb05eac0e 100644 --- a/addons/web_mobile/po/ar.po +++ b/addons/web_mobile/po/ar.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-03 15:13+0000\n" "Last-Translator: kifcaliph \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/bn.po b/addons/web_mobile/po/bn.po index bf72f6702aa..f7d5ca4c03a 100644 --- a/addons/web_mobile/po/bn.po +++ b/addons/web_mobile/po/bn.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-24 12:56+0000\n" "Last-Translator: nasir khan saikat \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/da.po b/addons/web_mobile/po/da.po index 9026ca5fb99..54fc2537f50 100644 --- a/addons/web_mobile/po/da.po +++ b/addons/web_mobile/po/da.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-11 13:54+0000\n" "Last-Translator: Jonas Mortensen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/de.po b/addons/web_mobile/po/de.po index d4ba2ba6a06..f999cdc3480 100644 --- a/addons/web_mobile/po/de.po +++ b/addons/web_mobile/po/de.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-08 08:39+0000\n" "Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/es.po b/addons/web_mobile/po/es.po index 47a25566bb5..308af68d7c9 100644 --- a/addons/web_mobile/po/es.po +++ b/addons/web_mobile/po/es.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-18 10:52+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/es_EC.po b/addons/web_mobile/po/es_EC.po index 36d46f292fe..ea023824a3b 100644 --- a/addons/web_mobile/po/es_EC.po +++ b/addons/web_mobile/po/es_EC.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 17:50+0000\n" "Last-Translator: Cristian Salamea (Gnuthink) \n" "Language-Team: Spanish (Ecuador) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/et.po b/addons/web_mobile/po/et.po index 3923db65428..77d4367167d 100644 --- a/addons/web_mobile/po/et.po +++ b/addons/web_mobile/po/et.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-10 19:23+0000\n" "Last-Translator: Aare Vesi \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/fr.po b/addons/web_mobile/po/fr.po index 3dd70197e57..f8181448aaa 100644 --- a/addons/web_mobile/po/fr.po +++ b/addons/web_mobile/po/fr.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-23 12:09+0000\n" "Last-Translator: fhe (OpenERP) \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/gl.po b/addons/web_mobile/po/gl.po index 67704585acd..05535aee234 100644 --- a/addons/web_mobile/po/gl.po +++ b/addons/web_mobile/po/gl.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 10:36+0000\n" "Last-Translator: Amós Oviedo \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/hr.po b/addons/web_mobile/po/hr.po index f66b7739806..6885ff35758 100644 --- a/addons/web_mobile/po/hr.po +++ b/addons/web_mobile/po/hr.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-08 16:29+0000\n" "Last-Translator: Goran Kliska \n" "Language-Team: Croatian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/it.po b/addons/web_mobile/po/it.po index 1ae614f50e2..d74e3cd7b1f 100644 --- a/addons/web_mobile/po/it.po +++ b/addons/web_mobile/po/it.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-08 13:44+0000\n" "Last-Translator: Nicola Riolini - Micronaet \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/nl.po b/addons/web_mobile/po/nl.po index 44e496f356f..b57ca751bce 100644 --- a/addons/web_mobile/po/nl.po +++ b/addons/web_mobile/po/nl.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-06 11:40+0000\n" "Last-Translator: Douwe Wullink (Dypalio) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/nl_BE.po b/addons/web_mobile/po/nl_BE.po index 9664acfe436..41ed35270f2 100644 --- a/addons/web_mobile/po/nl_BE.po +++ b/addons/web_mobile/po/nl_BE.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-07 09:10+0000\n" "Last-Translator: Niels Huylebroeck \n" "Language-Team: Dutch (Belgium) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/pl.po b/addons/web_mobile/po/pl.po index 28b9b6626c8..1556573f56a 100644 --- a/addons/web_mobile/po/pl.po +++ b/addons/web_mobile/po/pl.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-04 16:26+0000\n" "Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/pt.po b/addons/web_mobile/po/pt.po index 83d6057ebd8..1a4cf46874f 100644 --- a/addons/web_mobile/po/pt.po +++ b/addons/web_mobile/po/pt.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-11-21 22:23+0000\n" "Last-Translator: Daniel Reis \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/ru.po b/addons/web_mobile/po/ru.po index 314b80807ff..b27cedbe665 100644 --- a/addons/web_mobile/po/ru.po +++ b/addons/web_mobile/po/ru.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-02 07:20+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/sk.po b/addons/web_mobile/po/sk.po index c0517d125d1..b530d564181 100644 --- a/addons/web_mobile/po/sk.po +++ b/addons/web_mobile/po/sk.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-23 14:55+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/sl.po b/addons/web_mobile/po/sl.po index 8a5ab1caeff..aeeb83769e0 100644 --- a/addons/web_mobile/po/sl.po +++ b/addons/web_mobile/po/sl.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-10-19 06:19+0000\n" "Last-Translator: Anze (Neotek) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/addons/web_mobile/po/uk.po b/addons/web_mobile/po/uk.po index 42f0f9032bd..e01299d1e3d 100644 --- a/addons/web_mobile/po/uk.po +++ b/addons/web_mobile/po/uk.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-12-09 10:33+0100\n" +"POT-Creation-Date: 2011-12-15 11:40+0100\n" "PO-Revision-Date: 2011-12-07 16:51+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-10 05:23+0000\n" -"X-Generator: Launchpad (build 14450)\n" +"X-Launchpad-Export-Date: 2011-12-16 06:08+0000\n" +"X-Generator: Launchpad (build 14523)\n" #: addons/web_mobile/static/src/xml/web_mobile.xml:0 msgid "OpenERP" diff --git a/openerp/addons/base/i18n/es_CL.po b/openerp/addons/base/i18n/es_CL.po index a1734de70af..21a4f42d35f 100644 --- a/openerp/addons/base/i18n/es_CL.po +++ b/openerp/addons/base/i18n/es_CL.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2011-10-03 16:01+0000\n" -"Last-Translator: Francisco Reyes Acuña \n" +"PO-Revision-Date: 2011-12-15 20:44+0000\n" +"Last-Translator: doingit translator \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-12-13 05:00+0000\n" -"X-Generator: Launchpad (build 14458)\n" +"X-Launchpad-Export-Date: 2011-12-16 05:24+0000\n" +"X-Generator: Launchpad (build 14523)\n" #. module: base #: view:ir.filters:0 @@ -65,7 +65,7 @@ msgstr "Estructura de la vista" #. module: base #: field:base.language.import,code:0 msgid "Code (eg:en__US)" -msgstr "es_CL" +msgstr "Código (por ej. es_CL)" #. module: base #: view:workflow:0