Antonin Bourguignon
2013-01-30 17:59:18 +01:00
317 changed files with 1084 additions and 849 deletions
-1
View File
@@ -86,5 +86,4 @@ This module provides the core of the OpenERP Web Client.
"static/test/mutex.js"
],
'bootstrap': True,
'twitter': False,
}
+16 -18
View File
@@ -14,7 +14,6 @@ import re
import simplejson
import time
import urllib2
import xmlrpclib
import zlib
from xml.etree import ElementTree
from cStringIO import StringIO
@@ -97,7 +96,7 @@ def db_monodb(req):
dbs = db_list(req)
if len(dbs) == 1:
return dbs[0]
except xmlrpclib.Fault:
except Exception:
# ignore access denied
pass
return False
@@ -522,7 +521,7 @@ html_template = """<!DOCTYPE html>
</head>
<body>
<!--[if lte IE 8]>
<script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
<script>CFInstall.check({mode: "overlay"});</script>
<![endif]-->
</body>
@@ -749,10 +748,10 @@ class Database(openerpweb.Controller):
try:
return req.session.proxy("db").drop(password, db)
except xmlrpclib.Fault, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': e.faultCode, 'title': 'Drop Database'}
return {'error': _('Could not drop database !'), 'title': _('Drop Database')}
except openerp.exceptions.AccessDenied:
return {'error': 'AccessDenied', 'title': 'Drop Database'}
except Exception:
return {'error': _('Could not drop database !'), 'title': _('Drop Database')}
@openerpweb.httprequest
def backup(self, req, backup_db, backup_pwd, token):
@@ -769,8 +768,8 @@ class Database(openerpweb.Controller):
('Content-Disposition', content_disposition(filename, req))],
{'fileToken': int(token)}
)
except xmlrpclib.Fault, e:
return simplejson.dumps([[],[{'error': e.faultCode, 'title': _('Backup Database')}]])
except Exception, e:
return simplejson.dumps([[],[{'error': openerp.tools.ustr(e), 'title': _('Backup Database')}]])
@openerpweb.httprequest
def restore(self, req, db_file, restore_pwd, new_db):
@@ -778,9 +777,8 @@ class Database(openerpweb.Controller):
data = base64.b64encode(db_file.read())
req.session.proxy("db").restore(restore_pwd, new_db, data)
return ''
except xmlrpclib.Fault, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
raise Exception("AccessDenied")
except openerp.exceptions.AccessDenied, e:
raise Exception("AccessDenied")
@openerpweb.jsonrequest
def change_password(self, req, fields):
@@ -789,10 +787,10 @@ class Database(openerpweb.Controller):
dict(map(operator.itemgetter('name', 'value'), fields)))
try:
return req.session.proxy("db").change_admin_password(old_password, new_password)
except xmlrpclib.Fault, e:
if e.faultCode and e.faultCode.split(':')[0] == 'AccessDenied':
return {'error': e.faultCode, 'title': _('Change Password')}
return {'error': _('Error, password not changed !'), 'title': _('Change Password')}
except openerp.exceptions.AccessDenied:
return {'error': 'AccessDenied', 'title': _('Change Password')}
except Exception:
return {'error': _('Error, password not changed !'), 'title': _('Change Password')}
class Session(openerpweb.Controller):
_cp_path = "/web/session"
@@ -1194,7 +1192,7 @@ class Binary(openerpweb.Controller):
image_data = base64.b64decode(image_base64)
except (TypeError, xmlrpclib.Fault):
except Exception:
image_data = self.placeholder(req)
headers.append(('ETag', retag))
headers.append(('Content-Length', len(image_data)))
@@ -1311,7 +1309,7 @@ class Binary(openerpweb.Controller):
'filename': ufile.filename,
'id': attachment_id
}
except xmlrpclib.Fault, e:
except Exception:
args = {'error':e.faultCode }
return out % (simplejson.dumps(callback), simplejson.dumps(args))
+2
View File
@@ -1,3 +1,5 @@
.. _module:
Building an OpenERP Web module
==============================
+41 -43
View File
@@ -19,7 +19,6 @@ import time
import traceback
import urlparse
import uuid
import xmlrpclib
import babel.core
import simplejson
@@ -194,35 +193,18 @@ class JsonRequest(WebRequest):
response['id'] = self.jsonrequest.get('id')
response["result"] = method(self, **self.params)
except session.AuthenticationError:
se = serialize_exception(e)
error = {
'code': 100,
'message': "OpenERP Session Invalid",
'data': {
'type': 'session_invalid',
'debug': traceback.format_exc()
}
'data': se
}
except xmlrpclib.Fault, e:
except Exception, e:
se = serialize_exception(e)
error = {
'code': 200,
'message': "OpenERP Server Error",
'data': {
'type': 'server_exception',
'fault_code': e.faultCode,
'debug': "Client %s\nServer %s" % (
"".join(traceback.format_exception("", None, sys.exc_traceback)), e.faultString)
}
}
except Exception:
logging.getLogger(__name__ + '.JSONRequest.dispatch').exception\
("An error occured while handling a json request")
error = {
'code': 300,
'message': "OpenERP WebClient Error",
'data': {
'type': 'client_exception',
'debug': "Client %s" % traceback.format_exc()
}
'data': se
}
if error:
response["error"] = error
@@ -244,6 +226,36 @@ class JsonRequest(WebRequest):
r = werkzeug.wrappers.Response(body, headers=[('Content-Type', mime), ('Content-Length', len(body))])
return r
def serialize_exception(e):
tmp = {
"name": type(e).__module__ + "." + type(e).__name__ if type(e).__module__ else type(e).__name__,
"debug": traceback.format_exc(),
"message": u"%s" % e,
"arguments": to_jsonable(e.args),
}
if isinstance(e, openerp.osv.osv.except_osv):
tmp["exception_type"] = "except_osv"
elif isinstance(e, openerp.exceptions.Warning):
tmp["exception_type"] = "warning"
elif isinstance(e, openerp.exceptions.AccessError):
tmp["exception_type"] = "access_error"
elif isinstance(e, openerp.exceptions.AccessDenied):
tmp["exception_type"] = "access_denied"
return tmp
def to_jsonable(o):
if isinstance(o, str) or isinstance(o,unicode) or isinstance(o, int) or isinstance(o, long) \
or isinstance(o, bool) or o is None or isinstance(o, float):
return o
if isinstance(o, list) or isinstance(o, tuple):
return [to_jsonable(x) for x in o]
if isinstance(o, dict):
tmp = {}
for k, v in o.items():
tmp[u"%s" % k] = to_jsonable(v)
return tmp
return u"%s" % o
def jsonrequest(f):
""" Decorator marking the decorated method as being a handler for a
JSON-RPC request (the exact request path is specified via the
@@ -274,28 +286,14 @@ class HttpRequest(WebRequest):
_logger.debug("%s --> %s.%s %r", self.httprequest.method, method.im_class.__name__, method.__name__, akw)
try:
r = method(self, **self.params)
except xmlrpclib.Fault, e:
r = werkzeug.exceptions.InternalServerError(cgi.escape(simplejson.dumps({
except Exception:
se = serialize_exception(e)
error = {
'code': 200,
'message': "OpenERP Server Error",
'data': {
'type': 'server_exception',
'fault_code': e.faultCode,
'debug': "Server %s\nClient %s" % (
e.faultString, traceback.format_exc())
}
})))
except Exception:
logging.getLogger(__name__ + '.HttpRequest.dispatch').exception(
"An error occurred while handling a json request")
r = werkzeug.exceptions.InternalServerError(cgi.escape(simplejson.dumps({
'code': 300,
'message': "OpenERP WebClient Error",
'data': {
'type': 'client_exception',
'debug': "Client %s" % traceback.format_exc()
}
})))
'data': se
}
r = werkzeug.exceptions.InternalServerError(cgi.escape(simplejson.dumps(error)))
if self.debug or 1:
if isinstance(r, (werkzeug.wrappers.BaseResponse, werkzeug.exceptions.HTTPException)):
_logger.debug('<-- %s', r)
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
"X-Poedit-Language: Czech\n"
#. module: web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
"Language: es\n"
#. module: web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+6 -7
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
@@ -126,7 +126,7 @@ msgstr "Back-up database"
#: code:addons/web/static/src/js/views.js:463
#, python-format
msgid "%(view_type)s view"
msgstr "%(view_type)s were gave"
msgstr "%(view_type)s weergave"
#. module: web
#. openerp-web
@@ -794,10 +794,9 @@ msgid ""
"\n"
"Are you sure you want to leave this page ?"
msgstr ""
"Opgelet, het record werd aangepast, uw wijzigingen willen verloren gaan.<br "
"/>\n"
"<br />\n"
"Bent u zeker dat u deze pagina wenst te verlaten?"
"Opgelet, het record is aangepast, uw wijzigingen zullen verloren gaan.\n"
"\n"
"Weet u zeker dat u deze pagina wilt verlaten?"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+18 -18
View File
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
@@ -127,7 +127,7 @@ msgstr "Cópia de segurança da base de dados"
#: code:addons/web/static/src/js/views.js:463
#, python-format
msgid "%(view_type)s view"
msgstr "%(view_type)s view"
msgstr "Visualização %(view_type)s"
#. module: web
#. openerp-web
@@ -214,7 +214,7 @@ msgstr "Data da Última Modificação:"
#: code:addons/web/static/src/js/search.js:1459
#, python-format
msgid "M2O search fields do not currently handle multiple default values"
msgstr "Campos de pesquisa M2O não aceitão múltiplos valores default"
msgstr "Campos de pesquisa M2O não aceitão múltiplos valores padrão"
#. module: web
#. openerp-web
@@ -433,7 +433,7 @@ msgstr "Não foi possível restaurar a base de dados"
#: code:addons/web/static/src/js/view_form.js:4851
#, python-format
msgid "File upload"
msgstr "Arquivo carregado"
msgstr "Upload de arquivos"
#. module: web
#. openerp-web
@@ -532,7 +532,7 @@ msgstr "Condição:"
#: code:addons/web/static/src/js/view_form.js:1692
#, python-format
msgid "Unsupported operator %s in domain %s"
msgstr "Operador não suportado %s no domínio %s"
msgstr "Operador %s não suportado no domínio %s"
#. module: web
#. openerp-web
@@ -560,7 +560,7 @@ msgstr "%d-%d de %d"
#: code:addons/web/static/src/js/view_form.js:2868
#, python-format
msgid "Create and Edit..."
msgstr "Criar e editar..."
msgstr "Criar e Editar..."
#. module: web
#. openerp-web
@@ -1169,7 +1169,7 @@ msgstr "Fuso horário diferentes"
#: code:addons/web/static/src/js/view_form.js:1646
#, python-format
msgid "Unknown operator %s in domain %s"
msgstr "Operador desconhecido %s no domínio %s"
msgstr "Operador %s desconhecido no domínio %s"
#. module: web
#. openerp-web
@@ -1183,7 +1183,7 @@ msgstr "%d / %d"
#: code:addons/web/static/src/xml/base.xml:1782
#, python-format
msgid "2. Check your file format"
msgstr "2. Verifique seu formato de arquivo"
msgstr "2. Verifique o formato de seu arquivo"
#. module: web
#. openerp-web
@@ -1318,7 +1318,7 @@ msgstr "Você deve escolher pelo menos um registro."
#: code:addons/web/static/src/js/coresetup.js:631
#, python-format
msgid "Don't leave yet,<br />it's still loading..."
msgstr "Não deixe ainda, <br /> que ainda está carregando ..."
msgstr "Não saia dai, <br /> que ainda está carregando ..."
#. module: web
#. openerp-web
@@ -1332,7 +1332,7 @@ msgstr "Pesquisa Inválida"
#: code:addons/web/static/src/js/view_list.js:980
#, python-format
msgid "Could not find id in dataset"
msgstr "Não foi possível encontrar ID no conjunto de dados"
msgstr "Não foi possível encontrar o ID no conjunto de dados"
#. module: web
#. openerp-web
@@ -1479,7 +1479,7 @@ msgstr "Confirme a Senha do Super Admin:"
#: code:addons/web/static/src/js/coresetup.js:634
#, python-format
msgid "Maybe you should consider reloading the application by pressing F5..."
msgstr "Considere recarregar a a aplicação pressionado F5 ..."
msgstr "Tente recarregar a aplicação pressionado F5 ..."
#. module: web
#. openerp-web
@@ -1585,7 +1585,7 @@ msgstr "Todos os usuários"
#: code:addons/web/static/src/js/view_form.js:1654
#, python-format
msgid "Unknown field %s in domain %s"
msgstr "Campo desconhecido %s no domínio %s"
msgstr "Campo %s desconhecido no domínio %s"
#. module: web
#. openerp-web
@@ -1936,8 +1936,8 @@ msgid ""
"Grouping on field '%s' is not possible because that field does not appear in "
"the list view."
msgstr ""
"Agrupamento em campo '% s' não é possível porque o campo não aparece na "
"visão de lista."
"Agrupar por em campo '% s' não é possível porque o campo não aparece na "
"visualização lista."
#. module: web
#. openerp-web
@@ -1987,7 +1987,7 @@ msgstr "Tipo:"
#: code:addons/web/static/src/js/chrome.js:538
#, python-format
msgid "Incorrect super-administrator password"
msgstr "Senha de Super-administrator incorreta"
msgstr "Senha de Super Admin incorreta"
#. module: web
#. openerp-web
@@ -2274,7 +2274,7 @@ msgstr "Nenhum conteúdo encontrado para o campo '%s' em '%s:%s'"
#: code:addons/web/static/src/xml/base.xml:304
#, python-format
msgid "Database Management"
msgstr "Gerenciamento de base de dados"
msgstr "Gerenciamento do banco de dados"
#. module: web
#. openerp-web
@@ -2346,7 +2346,7 @@ msgstr "Duplicar"
#: code:addons/web/static/src/xml/base.xml:1391
#, python-format
msgid "Discard"
msgstr "Descartar"
msgstr "Cancelar"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 04:59+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:44+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+74 -68
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
@@ -59,7 +59,7 @@ msgstr "az ya da eşittir"
#: code:addons/web/static/src/js/chrome.js:393
#, python-format
msgid "Please enter your previous password"
msgstr ""
msgstr "Lütfen önceki şifrenizi girin"
#. module: web
#. openerp-web
@@ -82,7 +82,7 @@ msgstr "Ana şifreyi değiştir."
#: code:addons/web/static/src/js/chrome.js:491
#, python-format
msgid "Do you really want to delete the database: %s ?"
msgstr ""
msgstr "Gerçekten %s veritabanını SİLMEK istiyor musunuz?"
#. module: web
#. openerp-web
@@ -96,14 +96,14 @@ msgstr "Search %(field)s at: %(value)s"
#: code:addons/web/static/src/js/chrome.js:537
#, python-format
msgid "Access Denied"
msgstr ""
msgstr "Erişim Reddedildi"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_form.js:5183
#, python-format
msgid "Uploading error"
msgstr ""
msgstr "Yükleme hatası"
#. module: web
#. openerp-web
@@ -126,7 +126,7 @@ msgstr "Veritabanı Yedekle"
#: code:addons/web/static/src/js/views.js:463
#, python-format
msgid "%(view_type)s view"
msgstr ""
msgstr "%(view_type)s ekranı"
#. module: web
#. openerp-web
@@ -134,7 +134,7 @@ msgstr ""
#: code:addons/web/static/src/js/dates.js:53
#, python-format
msgid "'%s' is not a valid date"
msgstr ""
msgstr "'%s' geçerli bir tarih değil"
#. module: web
#. openerp-web
@@ -161,7 +161,7 @@ msgstr "Dosya"
#: code:addons/web/controllers/main.py:826
#, python-format
msgid "You cannot leave any password empty."
msgstr ""
msgstr "Şifreleri boş bırkamazsınız."
#. module: web
#. openerp-web
@@ -221,7 +221,7 @@ msgstr ""
#: code:addons/web/static/src/js/view_form.js:1227
#, python-format
msgid "Widget type '%s' is not implemented"
msgstr ""
msgstr "'%s' widget tipi uygulanmamış"
#. module: web
#. openerp-web
@@ -250,7 +250,7 @@ msgstr "(yazı yok)"
#: code:addons/web/static/src/js/formats.js:282
#, python-format
msgid "'%s' is not a correct time"
msgstr ""
msgstr "'%s' geçersiz saat biçimi"
#. module: web
#. openerp-web
@@ -271,7 +271,7 @@ msgstr "Yeni Parola:"
#: code:addons/web/static/src/xml/base.xml:610
#, python-format
msgid "Attachment :"
msgstr ""
msgstr "Ek :"
#. module: web
#. openerp-web
@@ -356,7 +356,7 @@ msgstr "Parolayı Değiştir"
#: code:addons/web/static/src/js/view_form.js:3411
#, python-format
msgid "View type '%s' is not supported in One2Many."
msgstr ""
msgstr "'%s' ekran (view) tipi one2many için desteklenmiyor."
#. module: web
#. openerp-web
@@ -371,7 +371,7 @@ msgstr "İndir"
#: code:addons/web/static/src/js/formats.js:266
#, python-format
msgid "'%s' is not a correct datetime"
msgstr ""
msgstr "'%s' geçerli bir tarih saat biçimi değil"
#. module: web
#. openerp-web
@@ -399,13 +399,13 @@ msgstr "Seçim:"
#: code:addons/web/static/src/js/view_form.js:871
#, python-format
msgid "The following fields are invalid:"
msgstr ""
msgstr "Geçersiz alanlar:"
#. module: web
#: code:addons/web/controllers/main.py:847
#, python-format
msgid "Languages"
msgstr ""
msgstr "Diller"
#. module: web
#. openerp-web
@@ -426,7 +426,7 @@ msgstr "İçe aktar"
#: code:addons/web/static/src/js/chrome.js:543
#, python-format
msgid "Could not restore the database"
msgstr ""
msgstr "Veritabanı geri yüklenemedi"
#. module: web
#. openerp-web
@@ -539,7 +539,7 @@ msgstr "Desteklenmeyen operatör %s alan adında %s"
#: code:addons/web/static/src/js/formats.js:242
#, python-format
msgid "'%s' is not a correct float"
msgstr ""
msgstr "'%s' geçersiz bir float"
#. module: web
#. openerp-web
@@ -553,7 +553,7 @@ msgstr "Onarıldı"
#: code:addons/web/static/src/js/view_list.js:394
#, python-format
msgid "%d-%d of %d"
msgstr ""
msgstr "%d-%d / %d"
#. module: web
#. openerp-web
@@ -567,7 +567,7 @@ msgstr "Oluştur ve düzenle..."
#: code:addons/web/static/src/js/pyeval.js:731
#, python-format
msgid "Unknown nonliteral type "
msgstr ""
msgstr "Bilinmeyen (nonliteral) tipi "
#. module: web
#. openerp-web
@@ -595,7 +595,7 @@ msgstr "İş Akışı'nı Yazdır"
#: code:addons/web/static/src/js/chrome.js:396
#, python-format
msgid "Please confirm your new password"
msgstr ""
msgstr "Lütfen yeni şifrenizi onaylayın"
#. module: web
#. openerp-web
@@ -644,7 +644,7 @@ msgstr "Model %s Alanları"
#: code:addons/web/static/src/js/view_list.js:893
#, python-format
msgid "Setting 'id' attribute on existing record %s"
msgstr ""
msgstr "Geçerli kayıt %s nin 'id' özeliği ayarlanıyor"
#. module: web
#. openerp-web
@@ -690,13 +690,14 @@ msgstr "Eylem ID:"
#, python-format
msgid "Your user's preference timezone does not match your browser timezone:"
msgstr ""
"Kullanıcınızın saat dilimi seçimi tarayıcınızın saat diliminden farklı:"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_form.js:1223
#, python-format
msgid "Field '%s' specified in view could not be found."
msgstr ""
msgstr "Ekranda tanımlanan '%s' alanı bulunamıyor."
#. module: web
#. openerp-web
@@ -724,7 +725,7 @@ msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
#: code:addons/web/static/src/js/chrome.js:481
#, python-format
msgid "The database has been duplicated."
msgstr ""
msgstr "Veritabanı Kopyalandı."
#. module: web
#. openerp-web
@@ -753,7 +754,7 @@ msgstr "Farklı Kaydet"
#: code:addons/web/doc/module/static/src/xml/web_example.xml:3
#, python-format
msgid "00:00:00"
msgstr ""
msgstr "00:00:00"
#. module: web
#. openerp-web
@@ -819,7 +820,7 @@ msgstr "Sonlandırıcı:"
#: code:addons/web/static/src/xml/base.xml:462
#, python-format
msgid "Browser's timezone"
msgstr ""
msgstr "Tarayıcınızın saat dilimi"
#. module: web
#. openerp-web
@@ -885,7 +886,7 @@ msgstr "Tercihler"
#: code:addons/web/static/src/js/view_form.js:436
#, python-format
msgid "Wrong on change format: %s"
msgstr ""
msgstr "Hatalı (on change) biçimi: %s"
#. module: web
#. openerp-web
@@ -900,7 +901,7 @@ msgstr "Veritabanını Sil"
#: code:addons/web/static/src/xml/base.xml:466
#, python-format
msgid "Click here to change your user's timezone."
msgstr ""
msgstr "Saat diliminizi değiştirmek için için tıklayın."
#. module: web
#. openerp-web
@@ -946,21 +947,21 @@ msgstr "Kullanıcı Adı"
#: code:addons/web/static/src/js/chrome.js:481
#, python-format
msgid "Duplicating database"
msgstr ""
msgstr "Veritabanı Kopyalanıyor"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/chrome.js:563
#, python-format
msgid "Password has been changed successfully"
msgstr ""
msgstr "Şifreniz değiştirildi"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_list_editable.js:788
#, python-format
msgid "The form's data can not be discarded"
msgstr ""
msgstr "Formdaki veriler iptal edilemiyor"
#. module: web
#. openerp-web
@@ -995,6 +996,10 @@ msgid ""
"\n"
"%s"
msgstr ""
"Yerel değerlendirme hatası\n"
"%s\n"
"\n"
"%s"
#. module: web
#. openerp-web
@@ -1015,7 +1020,7 @@ msgstr "Alan listesini Kaydet"
#: code:addons/web/doc/module/static/src/xml/web_example.xml:5
#, python-format
msgid "Start"
msgstr ""
msgstr "Başlat"
#. module: web
#. openerp-web
@@ -1036,7 +1041,7 @@ msgstr "Oluşturma Tarihi:"
#: code:addons/web/controllers/main.py:835
#, python-format
msgid "Error, password not changed !"
msgstr ""
msgstr "Hata, şifre değiştirilemedi !"
#. module: web
#. openerp-web
@@ -1058,7 +1063,7 @@ msgstr "/web/binary/upload_attachment"
#: code:addons/web/static/src/js/chrome.js:563
#, python-format
msgid "Changed Password"
msgstr ""
msgstr "Parola Değişti"
#. module: web
#. openerp-web
@@ -1092,14 +1097,14 @@ msgstr "Yedekle"
#: code:addons/web/static/src/js/dates.js:80
#, python-format
msgid "'%s' is not a valid time"
msgstr ""
msgstr "'%s' geçerli bir zaman biçimi değil"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/formats.js:274
#, python-format
msgid "'%s' is not a correct date"
msgstr ""
msgstr "'%s' geçerli bir tarih biçimi değil"
#. module: web
#. openerp-web
@@ -1153,7 +1158,7 @@ msgstr "Son Değiştiren:"
#: code:addons/web/static/src/xml/base.xml:470
#, python-format
msgid "Timezone mismatch"
msgstr ""
msgstr "Saat dilimi uyumsuzluğu"
#. module: web
#. openerp-web
@@ -1221,7 +1226,7 @@ msgstr "Gelişmiş Filtre Ekle"
#: code:addons/web/controllers/main.py:828
#, python-format
msgid "The new password and its confirmation must be identical."
msgstr ""
msgstr "Yeni şifre ve şifre tekrarı aynı olmalı"
#. module: web
#. openerp-web
@@ -1236,7 +1241,7 @@ msgstr "Veritabanını Geri Yükle"
#: code:addons/web/static/src/js/chrome.js:644
#, python-format
msgid "Login"
msgstr ""
msgstr "Kullanıcı Adı:"
#. module: web
#. openerp-web
@@ -1279,7 +1284,7 @@ msgstr "Grupla : %s"
#: code:addons/web/static/src/js/view_form.js:153
#, python-format
msgid "No data provided."
msgstr ""
msgstr "Hiç veri sağlanmadı."
#. module: web
#. openerp-web
@@ -1350,14 +1355,14 @@ msgstr "%(page)d/%(page_count)d"
#: code:addons/web/static/src/js/chrome.js:397
#, python-format
msgid "The confirmation does not match the password"
msgstr ""
msgstr "Şifre ve doğrulaması uyuşmuyor."
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:441
#, python-format
msgid "Edit Company data"
msgstr ""
msgstr "Şirket Bilgilerini düzenle"
#. module: web
#. openerp-web
@@ -1396,7 +1401,7 @@ msgstr ""
#: code:addons/web/static/src/xml/base.xml:394
#, python-format
msgid "99+"
msgstr ""
msgstr "99+"
#. module: web
#. openerp-web
@@ -1410,7 +1415,7 @@ msgstr ".CSV Dosyasından veri al"
#: code:addons/web/static/src/js/chrome.js:644
#, python-format
msgid "No database selected !"
msgstr ""
msgstr "Veritabanı Seçilmedi !"
#. module: web
#. openerp-web
@@ -1448,7 +1453,7 @@ msgstr "eşittir"
#: code:addons/web/static/src/js/views.js:1500
#, python-format
msgid "Could not serialize XML"
msgstr ""
msgstr "XML serileştirilemedi"
#. module: web
#. openerp-web
@@ -1553,14 +1558,14 @@ msgstr "Ağaç"
#: code:addons/web/controllers/main.py:750
#, python-format
msgid "Could not drop database !"
msgstr ""
msgstr "Veritabanı Silinemedi !"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/formats.js:227
#, python-format
msgid "'%s' is not a correct integer"
msgstr ""
msgstr "'%s' geçerli bir tamsayı (interger) değil"
#. module: web
#. openerp-web
@@ -1581,7 +1586,7 @@ msgstr "Bilinmeyen alan %s alan adında %s"
#: code:addons/web/static/src/js/views.js:1466
#, python-format
msgid "Node [%s] is not a JSONified XML node"
msgstr ""
msgstr "[%s] düğümü JSONlaştırılmış XML düğümü değil"
#. module: web
#. openerp-web
@@ -1595,7 +1600,7 @@ msgstr "Gelişmiş Arama..."
#: code:addons/web/static/src/js/chrome.js:499
#, python-format
msgid "Dropping database"
msgstr ""
msgstr "Veritabanı Siliniyor"
#. module: web
#. openerp-web
@@ -1660,7 +1665,7 @@ msgstr "%d yıl önce"
#: code:addons/web/static/src/js/view_list.js:1040
#, python-format
msgid "Unknown m2m command %s"
msgstr ""
msgstr "Bilinmeyen m2m komutu %s"
#. module: web
#. openerp-web
@@ -1683,7 +1688,7 @@ msgstr "Yeni Veritaban adı:"
#: code:addons/web/static/src/js/chrome.js:394
#, python-format
msgid "Please enter your new password"
msgstr ""
msgstr "Lütfen yeni parolanızı girin"
#. module: web
#. openerp-web
@@ -1797,7 +1802,7 @@ msgstr "Alanları Göster"
#: code:addons/web/static/src/xml/base.xml:330
#, python-format
msgid "Confirm New Password:"
msgstr ""
msgstr "Yeni Parolayı Onaylayın:"
#. module: web
#. openerp-web
@@ -1855,7 +1860,7 @@ msgstr "OpenERP"
#: code:addons/web/doc/module/static/src/xml/web_example.xml:8
#, python-format
msgid "Stop"
msgstr ""
msgstr "Durdur"
#. module: web
#. openerp-web
@@ -1974,7 +1979,7 @@ msgstr "Tip:"
#: code:addons/web/static/src/js/chrome.js:538
#, python-format
msgid "Incorrect super-administrator password"
msgstr ""
msgstr "Geçersiz super-yönetici şifresi"
#. module: web
#. openerp-web
@@ -2016,6 +2021,7 @@ msgid ""
"The type of the field '%s' must be a many2many field with a relation to "
"'ir.attachment' model."
msgstr ""
"'%s' alanı 'ir.attachment' modeline many2many ile bağlı bir tipte olmalı"
#. module: web
#. openerp-web
@@ -2078,7 +2084,7 @@ msgstr "Örnek verileri yükle:"
#: code:addons/web/static/src/xml/base.xml:615
#, python-format
msgid "Created by :"
msgstr ""
msgstr "Oluşturan:"
#. module: web
#. openerp-web
@@ -2086,7 +2092,7 @@ msgstr ""
#: code:addons/web/static/src/js/dates.js:26
#, python-format
msgid "'%s' is not a valid datetime"
msgstr ""
msgstr "'%s' geçersiz bir tarih saat değeri"
#. module: web
#. openerp-web
@@ -2166,14 +2172,14 @@ msgstr "\"%s\" İndir"
#: code:addons/web/static/src/js/view_form.js:326
#, python-format
msgid "New"
msgstr ""
msgstr "Yeni"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/view_list.js:1767
#, python-format
msgid "Can't convert value %s to context"
msgstr ""
msgstr "%s değeri bağlama dönüştürülemiyor"
#. module: web
#. openerp-web
@@ -2246,13 +2252,13 @@ msgstr "OpenERP Hakkında"
#: code:addons/web/static/src/js/formats.js:297
#, python-format
msgid "'%s' is not a correct date, datetime nor time"
msgstr ""
msgstr "'%s' geçerli bir tarih, saat ya da tarih saat değeri değil"
#. module: web
#: code:addons/web/controllers/main.py:1264
#, python-format
msgid "No content found for field '%s' on '%s:%s'"
msgstr ""
msgstr "'%s' alanı için içerik '%s:%s' bulunamadı"
#. module: web
#. openerp-web
@@ -2280,7 +2286,7 @@ msgstr "Veritabanlarını Yönet"
#: code:addons/web/static/src/js/pyeval.js:765
#, python-format
msgid "Evaluation Error"
msgstr ""
msgstr "Değerlendirme hatası"
#. module: web
#. openerp-web
@@ -2313,7 +2319,7 @@ msgstr "Hayır"
#: code:addons/web/static/src/js/formats.js:309
#, python-format
msgid "'%s' is not convertible to date, datetime nor time"
msgstr ""
msgstr "'%s' tarih, tarihsaat veya saat biçimine çevrilemiyor"
#. module: web
#. openerp-web
@@ -2380,7 +2386,7 @@ msgstr "Öntanımlı değer olarak kullan"
#: code:addons/web/static/src/js/view_list.js:1348
#, python-format
msgid "%s (%d)"
msgstr ""
msgstr "%s (%d)"
#. module: web
#. openerp-web
@@ -2443,7 +2449,7 @@ msgstr "Gerçekten bu eki silmek istediğinizden emin misiniz?"
#: code:addons/web/static/src/js/views.js:840
#, python-format
msgid "Technical Translation"
msgstr ""
msgstr "Terim Çevirileri"
#. module: web
#. openerp-web
@@ -2457,21 +2463,21 @@ msgstr "Alan:"
#: code:addons/web/static/src/xml/base.xml:620
#, python-format
msgid "Modified by :"
msgstr ""
msgstr "Değiştiren :"
#. module: web
#. openerp-web
#: code:addons/web/static/src/js/chrome.js:499
#, python-format
msgid "The database %s has been dropped"
msgstr ""
msgstr "Veritabanu %s silindi"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:460
#, python-format
msgid "User's timezone"
msgstr ""
msgstr "Kullanıcı saat dilimi"
#. module: web
#. openerp-web
@@ -2500,7 +2506,7 @@ msgstr "Özel:"
#, python-format
msgid ""
"The old password you provided is incorrect, your password was not changed."
msgstr ""
msgstr "Eski şifrenizi yanlış girdiniz, şifreniz değiştirilemedi."
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:00+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:45+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web
#. openerp-web
+1 -18
View File
@@ -6,7 +6,6 @@ import logging
import time
import traceback
import sys
import xmlrpclib
import openerp
@@ -85,23 +84,7 @@ class OpenERPSession(object):
self.jsonp_requests = {} # FIXME use a LRU
def send(self, service_name, method, *args):
code_string = "warning -- %s\n\n%s"
try:
return openerp.netsvc.dispatch_rpc(service_name, method, args)
except openerp.osv.osv.except_osv, e:
raise xmlrpclib.Fault(code_string % (e.name, e.value), '')
except openerp.exceptions.Warning, e:
raise xmlrpclib.Fault(code_string % ("Warning", e), '')
except openerp.exceptions.AccessError, e:
raise xmlrpclib.Fault(code_string % ("AccessError", e), '')
except openerp.exceptions.AccessDenied, e:
raise xmlrpclib.Fault('AccessDenied', str(e))
except openerp.exceptions.DeferredException, e:
formatted_info = "".join(traceback.format_exception(*e.traceback))
raise xmlrpclib.Fault(openerp.tools.ustr(e.message), formatted_info)
except Exception, e:
formatted_info = "".join(traceback.format_exception(*(sys.exc_info())))
raise xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info)
return openerp.netsvc.dispatch_rpc(service_name, method, args)
def proxy(self, service):
return Service(self, service)
@@ -0,0 +1,195 @@
Date.CultureInfo = {
/* Culture Name */
name: "am-ET",
englishName: "Amharic (Ethiopia)",
nativeName: "አምሃርኛ (ኢትዮጵያ)",
/* Day Name Strings */
dayNames: ["እሁድ", "ሰኞ", "ማክሰኞ", "ረብዑ", "ሃሙስ", "ዓርብ", "ቅዳሜ"],
abbreviatedDayNames: ["እሁድ", "ሰኞ", "ማክሰ", "ረብዑ", "ሃሙስ", "ዓርብ", "ቅዳሜ"],
shortestDayNames: ["እሁ", "ሰኞ", "ማክ", "ረብ", "ሃሙ", "ዓር", "ቅዳ"],
firstLetterDayNames: ["እ", "ሰ", "ማ", "ረ", "ሃ", "ዓ", "ቅ"],
/* Month Name Strings */
monthNames: ["ጃንዋሪ", "ፌብሩዋሪ", "ማርች", "አፕሪል", "ሜይ", "ጁን", "ጁላይ", "ኦገስት", "ሴፕቴምበር", "ኦክቶበር", "ኖቬምበር", "ዲሴምበር"],
abbreviatedMonthNames: ["ጃንዋ", "ፌብሩ", "ማርች", "አፕሪ", "ሜይ", "ጁን", "ጁላይ", "ኦገስ", "ሴፕቴ", "ኦክቶ", "ኖቬም", "ዲሴም"],
/* AM/PM Designators */
amDesignator: "ከቀኑ",
pmDesignator: "ከለሊቱ",
firstDayOfWeek: 1,
twoDigitYearMax: 2029,
/**
* The dateElementOrder is based on the order of the
* format specifiers in the formatPatterns.DatePattern.
*
* Example:
<pre>
shortDatePattern dateElementOrder
------------------ ----------------
"M/d/yyyy" "mdy"
"dd/MM/yyyy" "dmy"
"yyyy-MM-dd" "ymd"
</pre>
*
* The correct dateElementOrder is required by the parser to
* determine the expected order of the date elements in the
* string being parsed.
*/
dateElementOrder: "dmy",
/* Standard date and time format patterns */
formatPatterns: {
shortDate: "dd/MM/yyyy",
longDate: "dd MMMM yyyy",
shortTime: "HH:mm",
longTime: "HH:mm:ss",
fullDateTime: "dd MMMM yyyy HH:mm:ss",
sortableDateTime: "yyyy-MM-ddTHH:mm:ss",
universalSortableDateTime: "yyyy-MM-dd HH:mm:ssZ",
rfc1123: "ddd, dd MMM yyyy HH:mm:ss GMT",
monthDay: "dd MMMM",
yearMonth: "MMMM yyyy"
},
/**
* NOTE: If a string format is not parsing correctly, but
* you would expect it parse, the problem likely lies below.
*
* The following regex patterns control most of the string matching
* within the parser.
*
* The Month name and Day name patterns were automatically generated
* and in general should be (mostly) correct.
*
* Beyond the month and day name patterns are natural language strings.
* Example: "next", "today", "months"
*
* These natural language string may NOT be correct for this culture.
* If they are not correct, please translate and edit this file
* providing the correct regular expression pattern.
*
* If you modify this file, please post your revised CultureInfo file
* to the Datejs Forum located at http://www.datejs.com/forums/.
*
* Please mark the subject of the post with [CultureInfo]. Example:
* Subject: [CultureInfo] Translated "da-DK" Danish(Denmark)
*
* We will add the modified patterns to the master source files.
*
* As well, please review the list of "Future Strings" section below.
*/
regexPatterns: {
jan: /^jan(uary)?/i,
feb: /^feb(ruary)?/i,
mar: /^mar(ch)?/i,
apr: /^apr(il)?/i,
may: /^may/i,
jun: /^jun(e)?/i,
jul: /^jul(y)?/i,
aug: /^aug(ust)?/i,
sep: /^sep(t(ember)?)?/i,
oct: /^oct(ober)?/i,
nov: /^nov(ember)?/i,
dec: /^dec(ember)?/i,
sun: /^su(n(day)?)?/i,
mon: /^mo(n(day)?)?/i,
tue: /^tu(e(s(day)?)?)?/i,
wed: /^we(d(nesday)?)?/i,
thu: /^th(u(r(s(day)?)?)?)?/i,
fri: /^fr(i(day)?)?/i,
sat: /^sa(t(urday)?)?/i,
future: /^next/i,
past: /^last|past|prev(ious)?/i,
add: /^(\+|aft(er)?|from|hence)/i,
subtract: /^(\-|bef(ore)?|ago)/i,
yesterday: /^yes(terday)?/i,
today: /^t(od(ay)?)?/i,
tomorrow: /^tom(orrow)?/i,
now: /^n(ow)?/i,
millisecond: /^ms|milli(second)?s?/i,
second: /^sec(ond)?s?/i,
minute: /^mn|min(ute)?s?/i,
hour: /^h(our)?s?/i,
week: /^w(eek)?s?/i,
month: /^m(onth)?s?/i,
day: /^d(ay)?s?/i,
year: /^y(ear)?s?/i,
shortMeridian: /^(a|p)/i,
longMeridian: /^(a\.?m?\.?|p\.?m?\.?)/i,
timezone: /^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt|utc)/i,
ordinalSuffix: /^\s*(st|nd|rd|th)/i,
timeContext: /^\s*(\:|a(?!u|p)|p)/i
},
timezones: [{name:"UTC", offset:"-000"}, {name:"GMT", offset:"-000"}, {name:"EST", offset:"-0500"}, {name:"EDT", offset:"-0400"}, {name:"CST", offset:"-0600"}, {name:"CDT", offset:"-0500"}, {name:"MST", offset:"-0700"}, {name:"MDT", offset:"-0600"}, {name:"PST", offset:"-0800"}, {name:"PDT", offset:"-0700"}]
};
/********************
** Future Strings **
********************
*
* The following list of strings may not be currently being used, but
* may be incorporated into the Datejs library later.
*
* We would appreciate any help translating the strings below.
*
* If you modify this file, please post your revised CultureInfo file
* to the Datejs Forum located at http://www.datejs.com/forums/.
*
* Please mark the subject of the post with [CultureInfo]. Example:
* Subject: [CultureInfo] Translated "da-DK" Danish(Denmark)b
*
* English Name Translated
* ------------------ -----------------
* about about
* ago ago
* date date
* time time
* calendar calendar
* show show
* hourly hourly
* daily daily
* weekly weekly
* bi-weekly bi-weekly
* fortnight fortnight
* monthly monthly
* bi-monthly bi-monthly
* quarter quarter
* quarterly quarterly
* yearly yearly
* annual annual
* annually annually
* annum annum
* again again
* between between
* after after
* from now from now
* repeat repeat
* times times
* per per
* min (abbrev minute) min
* morning morning
* noon noon
* night night
* midnight midnight
* mid-night mid-night
* evening evening
* final final
* future future
* spring spring
* summer summer
* fall fall
* winter winter
* end of end of
* end end
* long long
* short short
*/
-2
View File
@@ -1242,8 +1242,6 @@
.openerp .oe_secondary_submenu {
padding: 2px 0 8px 0;
margin: 0;
width: 220px;
display: inline-block;
}
.openerp .oe_secondary_submenu li {
position: relative;
-2
View File
@@ -1009,8 +1009,6 @@ $sheet-padding: 16px
.oe_secondary_submenu
padding: 2px 0 8px 0
margin: 0
width: 220px
display: inline-block
li
position: relative
margin: 0
+42 -21
View File
@@ -247,19 +247,17 @@ instance.web.CrashManager = instance.web.Class.extend({
if (!this.active) {
return;
}
// yes, exception handling is shitty
if (error.code === 300 && error.data && error.data.type == "client_exception" && error.data.debug.match("SessionExpiredException")) {
this.show_warning({type: "Session Expired", data: { fault_code: "Your OpenERP session expired. Please refresh the current web page." }});
var handler = instance.web.crash_manager_registry.get_object(error.data.name, true);
if (handler) {
new (handler)(this, error).display();
return;
};
if (error.data.name === "openerp.addons.web.session SessionExpiredException") {
this.show_warning({type: "Session Expired", data: { message: "Your OpenERP session expired. Please refresh the current web page." }});
return;
}
if (error.data.fault_code) {
var split = ("" + error.data.fault_code).split('\n')[0].split(' -- ');
if (split.length > 1) {
error.type = split.shift();
error.data.fault_code = error.data.fault_code.substr(error.type.length + 4);
}
}
if (error.code === 200 && error.type) {
if (error.data.exception_type === "except_osv" || error.data.exception_type === "warning"
|| error.data.exception_type === "access_error") {
this.show_warning(error);
} else {
this.show_error(error);
@@ -269,8 +267,11 @@ instance.web.CrashManager = instance.web.Class.extend({
if (!this.active) {
return;
}
if (error.data.exception_type === "except_osv") {
error = _.extend({}, error, {data: _.extend({}, error.data, {message: error.data.arguments[0] + "\n\n" + error.data.arguments[1]})});
}
instance.web.dialog($('<div>' + QWeb.render('CrashManager.warning', {error: error}) + '</div>'), {
title: "OpenERP " + _.str.capitalize(error.type),
title: "OpenERP " + (_.str.capitalize(error.type) || "Warning"),
buttons: [
{text: _t("Ok"), click: function() { $(this).dialog("close"); }}
]
@@ -303,6 +304,29 @@ instance.web.CrashManager = instance.web.Class.extend({
},
});
/**
An interface to implement to handle exceptions. Register implementation in instance.web.crash_manager_registry.
*/
instance.web.ExceptionHandler = {
/**
@param parent The parent.
@param error The error object as returned by the JSON-RPC implementation.
*/
init: function(parent, error) {},
/**
Called to inform to display the widget, if necessary. A typical way would be to implement
this interface in a class extending instance.web.Dialog and simply display the dialog in this
method.
*/
display: function() {},
};
/**
The registry to handle exceptions. It associate a fully qualified python exception name with a class implementing
instance.web.ExceptionHandler.
*/
instance.web.crash_manager_registry = new instance.web.Registry();
instance.web.Loading = instance.web.Widget.extend({
template: _t("Loading"),
init: function(parent) {
@@ -481,6 +505,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
self.do_action("reload");
},
},
_push_me: false,
};
self.do_action(client_action);
});
@@ -649,7 +674,7 @@ instance.web.Login = instance.web.Widget.extend({
}
},
on_db_failed: function (error, event) {
if (error.data.fault_code === 'AccessDenied') {
if (error.data.name === 'openerp.exceptions.AccessDenied') {
event.preventDefault();
}
},
@@ -868,7 +893,7 @@ instance.web.Menu = instance.web.Widget.extend({
this.needaction_data = data;
_.each(this.needaction_data, function (item, menu_id) {
var $item = self.$secondary_menus.find('a[data-menu="' + menu_id + '"]');
$item.remove('oe_menu_counter');
$item.find('.oe_menu_counter').remove();
if (item.needaction_counter && item.needaction_counter > 0) {
$item.append(QWeb.render("Menu.needaction_counter", { widget : item }));
}
@@ -1395,13 +1420,9 @@ instance.web.WebClient = instance.web.Client.extend({
});
},
set_content_full_screen: function(fullscreen) {
if (fullscreen) {
$(".oe_webclient", this.$el).addClass("oe_content_full_screen");
$("body").css({'overflow-y':'hidden'});
} else {
$(".oe_webclient", this.$el).removeClass("oe_content_full_screen");
$("body").css({'overflow-y':'scroll'});
}
$(document.body).css('overflow-y', fullscreen ? 'hidden' : 'scroll');
this.$('.oe_webclient').toggleClass(
'oe_content_full_screen', fullscreen);
},
has_uncommitted_changes: function() {
var $e = $.Event('clear_uncommitted_changes');
+1 -1
View File
@@ -991,7 +991,7 @@ instance.web.JsonRPC = instance.web.Class.extend(instance.web.PropertiesMixin, {
self.trigger('response', response);
if (!response.error) {
deferred.resolve(response["result"], textStatus, jqXHR);
} else if (response.error.data.type === "session_invalid") {
} else if (response.error.code === 100) {
self.uid = false;
} else {
deferred.reject(response.error, $.Event());
+7 -3
View File
@@ -166,9 +166,13 @@ instance.web.format_value = function (value, descriptor, value_if_empty) {
value = Math.abs(value);
pattern = '-' + pattern;
}
return _.str.sprintf(pattern,
Math.floor(value),
Math.round((value % 1) * 60));
var hour = Math.floor(value);
var min = Math.round((value % 1) * 60);
if (min == 60){
min = 0;
hour = hour + 1;
}
return _.str.sprintf(pattern, hour, min);
case 'many2one':
// name_get value format
return value[1] ? value[1].split("\n")[0] : value[1];
+2 -3
View File
@@ -689,15 +689,14 @@ openerp.web.pyeval = function (instance) {
};
instance.web.pyeval.context = function () {
return {
uid: py.float.fromJSON(instance.session.uid),
return _.extend({
datetime: datetime,
context_today: context_today,
time: time,
relativedelta: relativedelta,
current_date: py.PY_call(
time.strftime, [py.str.fromJSON('%Y-%m-%d')]),
};
}, instance.session.user_context);
};
/**
+66 -30
View File
@@ -127,41 +127,26 @@ my.InputView = instance.web.Widget.extend({
events: {
focus: function () { this.trigger('focused', this); },
blur: function () { this.$el.text(''); this.trigger('blurred', this); },
keydown: 'onKeydown'
keydown: 'onKeydown',
paste: 'onPaste',
},
getSelection: function () {
// get Text node
var root = this.$el[0].childNodes[0];
var root = this.el.childNodes[0];
if (!root || !root.textContent) {
// if input does not have a child node, or the child node is an
// empty string, then the selection can only be (0, 0)
return {start: 0, end: 0};
}
if (window.getSelection) {
var domRange = window.getSelection().getRangeAt(0);
assert(domRange.startContainer === root,
"selection should be in the input view");
assert(domRange.endContainer === root,
"selection should be in the input view");
return {
start: domRange.startOffset,
end: domRange.endOffset
}
} else if (document.selection) {
var ieRange = document.selection.createRange();
var rangeParent = ieRange.parentElement();
assert(rangeParent === root,
"selection should be in the input view");
var offsetRange = document.body.createTextRange();
offsetRange = offsetRange.moveToElementText(rangeParent);
offsetRange.setEndPoint("EndToStart", ieRange);
var start = offsetRange.text.length;
return {
start: start,
end: start + ieRange.text.length
}
var range = window.getSelection().getRangeAt(0);
assert(range.startContainer === root,
"selection should be in the input view");
assert(range.endContainer === root,
"selection should be in the input view");
return {
start: range.startOffset,
end: range.endOffset
}
throw new Error("Could not get caret position");
},
onKeydown: function (e) {
var sel;
@@ -199,6 +184,50 @@ my.InputView = instance.web.Widget.extend({
}
break;
}
},
setCursorAtEnd: function () {
var sel = window.getSelection();
sel.removeAllRanges();
var range = document.createRange();
// in theory, range.selectNodeContents should work here. In practice,
// MSIE9 has issues from time to time, instead of selecting the inner
// text node it would select the reference node instead (e.g. in demo
// data, company news, copy across the "Company News" link + the title,
// from about half the link to half the text, paste in search box then
// hit the left arrow key, getSelection would blow up).
//
// Explicitly selecting only the inner text node (only child node at
// this point, though maybe we should assert that) avoiids the issue
range.selectNode(this.el.childNodes[0]);
range.collapse(false);
sel.addRange(range);
},
onPaste: function () {
// In MSIE and Webkit, it is possible to get various representations of
// the clipboard data at this point e.g.
// window.clipboardData.getData('Text') and
// event.clipboardData.getData('text/plain') to ensure we have a plain
// text representation of the object (and probably ensure the object is
// pastable as well, so nobody puts an image in the search view)
// (nb: since it's not possible to alter the content of the clipboard
// — at least in Webkit — to ensure only textual content is available,
// using this would require 1. getting the text data; 2. manually
// inserting the text data into the content; and 3. cancelling the
// paste event)
//
// But Firefox doesn't support the clipboard API (as of FF18)
// although it correctly triggers the paste event (Opera does not even
// do that) => implement lowest-denominator system where onPaste
// triggers a followup "cleanup" pass after the data has been pasted
setTimeout(function () {
// Read text content (ignore pasted HTML)
var data = this.$el.text();
// paste raw text back in
this.$el.empty().text(data);
// Set the cursor at the end of the text, so the cursor is not lost
// in some kind of error-spawning limbo.
this.setCursorAtEnd();
}.bind(this), 0);
}
});
my.FacetView = instance.web.Widget.extend({
@@ -1572,6 +1601,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
append_filter: function (filter) {
var self = this;
var key = this.key_for(filter);
var warning = _t("This filter is global and will be removed for everybody if you continue.");
var $filter;
if (key in this.$filters) {
@@ -1589,6 +1619,9 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
$('<a class="oe_searchview_custom_delete">x</a>')
.click(function (e) {
e.stopPropagation();
if (!(filter.user_id || confirm(warning))) {
return;
}
self.model.call('unlink', [id]).done(function () {
$filter.remove();
delete self.$filters[key];
@@ -1711,10 +1744,12 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
});
return $.when(
this._super(),
new instance.web.Model(this.view.model).call('fields_get').done(function(data) {
self.fields = _.extend({
id: { string: 'ID', type: 'id' }
}, data);
new instance.web.Model(this.view.model).call('fields_get', {
context: this.view.dataset.context
}).done(function(data) {
self.fields = _.extend({
id: { string: 'ID', type: 'id' }
}, data);
})).done(function () {
self.append_proposition();
});
@@ -1781,6 +1816,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
this._super(parent);
this.fields = _(fields).chain()
.map(function(val, key) { return _.extend({}, val, {'name': key}); })
.filter(function (field) { return !field.deprecated; })
.sortBy(function(field) {return field.string;})
.value();
this.attrs = {_: _, fields: this.fields, selected: null};
+1 -1
View File
@@ -72,7 +72,7 @@ openerp.test_support = {
}
return;
}
fn(e.data.fault_code);
fn(e.data.name);
})
}
};
+8 -13
View File
@@ -573,19 +573,14 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
]
});
}
if (result.domain) {
function edit_domain(node) {
if (typeof node !== "object") {
return;
}
var new_domain = result.domain[node.attrs.name];
if (new_domain) {
node.attrs.domain = new_domain;
}
_(node.children).each(edit_domain);
}
edit_domain(this.fields_view.arch);
}
var fields = this.fields;
_(result.domain).each(function (domain, fieldname) {
var field = fields[fieldname];
if (!field) { return; }
field.node.attrs.domain = domain;
});
return $.Deferred().resolve();
} catch(e) {
console.error(e);
+1 -3
View File
@@ -40,7 +40,7 @@
<td>
<p>
<t t-js="d">
var message = d.message ? d.message : d.error.data.fault_code;
var message = d.message ? d.message : d.error.data.message;
d.html_error = context.engine.tools.html_escape(message)
.replace(/\n/g, '<br/>');
</t>
@@ -1414,8 +1414,6 @@
this.removeAttr('t-if');
</t>
<t t-jquery="tfoot &gt; tr:last-child" t-operation="replace"/>
<t t-jquery="td.oe-actions">
this.removeAttr('t-if');
</t>
+6
View File
@@ -68,6 +68,12 @@ openerp.testing.section('web-formats', {
strictEqual(
instance.web.format_value(-0.0085, {type:'float', widget:'float_time'}),
'-00:01');
strictEqual(
instance.web.format_value(4.9999, {type:'float', widget:'float_time'}),
'05:00');
strictEqual(
instance.web.format_value(-6.9999, {type:'float', widget:'float_time'}),
'-07:00');
});
test("format_float", function (instance) {
var fl = 12.1234;
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
"X-Poedit-Language: Czech\n"
#. module: web_calendar
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
"Language: es\n"
#. module: web_calendar
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web
+2 -2
View File
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2013-01-22 05:01+0000\n"
"X-Generator: Launchpad (build 16430)\n"
"X-Launchpad-Export-Date: 2013-01-30 04:46+0000\n"
"X-Generator: Launchpad (build 16455)\n"
#. module: web_calendar
#. openerp-web

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