[MERGE] trunk
bzr revid: fme@openerp.com-20121115165250-tte33jdai1zc6b34
This commit is contained in:
commit
635380169c
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
'name': 'Web',
|
||||
'category': 'Hidden',
|
||||
'version': '7.0.1.0',
|
||||
'description':
|
||||
"""
|
||||
OpenERP Web core module.
|
||||
|
|
|
@ -263,6 +263,10 @@ def concat_js(file_list):
|
|||
content = rjsmin(content)
|
||||
return content, checksum
|
||||
|
||||
def fs2web(path):
|
||||
"""convert FS path into web path"""
|
||||
return '/'.join(path.split(os.path.sep))
|
||||
|
||||
def manifest_glob(req, addons, key):
|
||||
if addons is None:
|
||||
addons = module_boot(req)
|
||||
|
@ -278,7 +282,7 @@ def manifest_glob(req, addons, key):
|
|||
globlist = manifest.get(key, [])
|
||||
for pattern in globlist:
|
||||
for path in glob.glob(os.path.normpath(os.path.join(addons_path, addon, pattern))):
|
||||
r.append((path, path[len(addons_path):]))
|
||||
r.append((path, fs2web(path[len(addons_path):])))
|
||||
return r
|
||||
|
||||
def manifest_list(req, mods, extension):
|
||||
|
@ -640,8 +644,7 @@ class WebClient(openerpweb.Controller):
|
|||
data = fp.read().decode('utf-8')
|
||||
|
||||
path = file_map[f]
|
||||
# convert FS path into web path
|
||||
web_dir = '/'.join(os.path.dirname(path).split(os.path.sep))
|
||||
web_dir = os.path.dirname(path)
|
||||
|
||||
data = re.sub(
|
||||
rx_import,
|
||||
|
@ -771,15 +774,20 @@ class Database(openerpweb.Controller):
|
|||
@openerpweb.jsonrequest
|
||||
def create(self, req, fields):
|
||||
params = dict(map(operator.itemgetter('name', 'value'), fields))
|
||||
create_attrs = (
|
||||
return req.session.proxy("db").create_database(
|
||||
params['super_admin_pwd'],
|
||||
params['db_name'],
|
||||
bool(params.get('demo_data')),
|
||||
params['db_lang'],
|
||||
params['create_admin_pwd']
|
||||
)
|
||||
params['create_admin_pwd'])
|
||||
|
||||
return req.session.proxy("db").create_database(*create_attrs)
|
||||
@openerpweb.jsonrequest
|
||||
def duplicate(self, req, fields):
|
||||
params = dict(map(operator.itemgetter('name', 'value'), fields))
|
||||
return req.session.proxy("db").duplicate_database(
|
||||
params['super_admin_pwd'],
|
||||
params['db_original_name'],
|
||||
params['db_name'])
|
||||
|
||||
@openerpweb.jsonrequest
|
||||
def drop(self, req, fields):
|
||||
|
|
|
@ -15,7 +15,7 @@ DataSet -> Model
|
|||
----------------
|
||||
|
||||
The 6.1 ``DataSet`` API has been deprecated in favor of the smaller
|
||||
and more orthogonal :doc:`Model </dev_rpc>` API, which more closely
|
||||
and more orthogonal :doc:`Model </rpc>` API, which more closely
|
||||
matches the API in OpenERP Web's Python side and in OpenObject addons
|
||||
and removes most stateful behavior of DataSet.
|
||||
|
||||
|
|
|
@ -14,14 +14,13 @@ Contents:
|
|||
presentation
|
||||
async
|
||||
|
||||
dev_rpc
|
||||
dev_widget
|
||||
dev_qweb
|
||||
dev_client_action
|
||||
|
||||
internal_form
|
||||
internal_list
|
||||
internal_search
|
||||
widget
|
||||
qweb
|
||||
rpc
|
||||
client_action
|
||||
form_view
|
||||
search_view
|
||||
list_view
|
||||
|
||||
changelog-7.0
|
||||
|
||||
|
|
|
@ -451,7 +451,7 @@ formview, delegating instead to its
|
|||
created.
|
||||
|
||||
The result should be a valid form view, see :doc:`Form Notes
|
||||
<internal_form>` for various peculiarities of the form view
|
||||
<form_view>` for various peculiarities of the form view
|
||||
format.
|
||||
|
||||
:param editor: editor object asking for the view
|
|
@ -11,6 +11,7 @@ import logging
|
|||
import mimetypes
|
||||
import os
|
||||
import pprint
|
||||
import random
|
||||
import sys
|
||||
import tempfile
|
||||
import threading
|
||||
|
@ -227,6 +228,10 @@ class JsonRequest(WebRequest):
|
|||
_logger.debug("<--\n%s", pprint.pformat(response))
|
||||
|
||||
if jsonp:
|
||||
# If we use jsonp, that's mean we are called from another host
|
||||
# Some browser (IE and Safari) do no allow third party cookies
|
||||
# We need then to manage http sessions manually.
|
||||
response['httpsessionid'] = self.httpsession.sid
|
||||
mime = 'application/javascript'
|
||||
body = "%s(%s);" % (jsonp, simplejson.dumps(response, cls=nonliterals.NonLiteralEncoder),)
|
||||
else:
|
||||
|
@ -353,23 +358,13 @@ class Controller(object):
|
|||
#----------------------------------------------------------
|
||||
# Session context manager
|
||||
#----------------------------------------------------------
|
||||
STORES = {}
|
||||
|
||||
@contextlib.contextmanager
|
||||
def session_context(request, storage_path, session_cookie='httpsessionid'):
|
||||
session_store, session_lock = STORES.get(storage_path, (None, None))
|
||||
if not session_store:
|
||||
session_store = werkzeug.contrib.sessions.FilesystemSessionStore( storage_path)
|
||||
session_lock = threading.Lock()
|
||||
STORES[storage_path] = session_store, session_lock
|
||||
|
||||
sid = request.cookies.get(session_cookie)
|
||||
def session_context(request, session_store, session_lock, sid):
|
||||
with session_lock:
|
||||
if sid:
|
||||
request.session = session_store.get(sid)
|
||||
else:
|
||||
request.session = session_store.new()
|
||||
|
||||
try:
|
||||
yield request.session
|
||||
finally:
|
||||
|
@ -421,6 +416,18 @@ def session_context(request, storage_path, session_cookie='httpsessionid'):
|
|||
|
||||
session_store.save(request.session)
|
||||
|
||||
def session_gc(session_store):
|
||||
if random.random() < 0.001:
|
||||
# we keep session one week
|
||||
last_week = time.time() - 60*60*24*7
|
||||
for fname in os.listdir(session_store.path):
|
||||
path = os.path.join(session_store.path, fname)
|
||||
try:
|
||||
if os.path.getmtime(path) < last_week:
|
||||
os.unlink(path)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
#----------------------------------------------------------
|
||||
# WSGI Application
|
||||
#----------------------------------------------------------
|
||||
|
@ -455,22 +462,23 @@ class Root(object):
|
|||
"""Root WSGI application for the OpenERP Web Client.
|
||||
"""
|
||||
def __init__(self):
|
||||
self.httpsession_cookie = 'httpsessionid'
|
||||
self.addons = {}
|
||||
|
||||
static_dirs = self._load_addons()
|
||||
app = werkzeug.wsgi.SharedDataMiddleware( self.dispatch, static_dirs)
|
||||
self.dispatch = DisableCacheMiddleware(app)
|
||||
|
||||
# Setup http sessions
|
||||
try:
|
||||
username = getpass.getuser()
|
||||
except Exception:
|
||||
username = "unknown"
|
||||
self.session_storage = os.path.join(tempfile.gettempdir(), "oe-sessions-" + username)
|
||||
|
||||
if not os.path.exists(self.session_storage):
|
||||
os.mkdir(self.session_storage, 0700)
|
||||
_logger.debug('HTTP sessions stored in: %s', self.session_storage)
|
||||
path = os.path.join(tempfile.gettempdir(), "oe-sessions-" + username)
|
||||
if not os.path.exists(path):
|
||||
os.mkdir(path, 0700)
|
||||
self.session_store = werkzeug.contrib.sessions.FilesystemSessionStore(path)
|
||||
self.session_lock = threading.Lock()
|
||||
_logger.debug('HTTP sessions stored in: %s', path)
|
||||
|
||||
def __call__(self, environ, start_response):
|
||||
""" Handle a WSGI request
|
||||
|
@ -493,8 +501,14 @@ class Root(object):
|
|||
if not handler:
|
||||
response = werkzeug.exceptions.NotFound()
|
||||
else:
|
||||
with session_context(request, self.session_storage, self.httpsession_cookie) as session:
|
||||
result = handler( request)
|
||||
sid = request.cookies.get('sid')
|
||||
if not sid:
|
||||
sid = request.args.get('sid')
|
||||
|
||||
session_gc(self.session_store)
|
||||
|
||||
with session_context(request, self.session_store, self.session_lock, sid) as session:
|
||||
result = handler(request)
|
||||
|
||||
if isinstance(result, basestring):
|
||||
headers=[('Content-Type', 'text/html; charset=utf-8'), ('Content-Length', len(result))]
|
||||
|
@ -503,7 +517,7 @@ class Root(object):
|
|||
response = result
|
||||
|
||||
if hasattr(response, 'set_cookie'):
|
||||
response.set_cookie(self.httpsession_cookie, session.sid)
|
||||
response.set_cookie('sid', session.sid)
|
||||
|
||||
return response(environ, start_response)
|
||||
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. openerp-web
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
"Language: es\n"
|
||||
|
||||
#. openerp-web
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -9,13 +9,13 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
|
||||
"PO-Revision-Date: 2012-10-26 12:17+0000\n"
|
||||
"Last-Translator: Herczeg Péter <herczegp@gmail.com>\n"
|
||||
"Last-Translator: Herczeg Péter <hp@erp-cloud.hu>\n"
|
||||
"Language-Team: Hungarian <hu@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-27 05:15+0000\n"
|
||||
"X-Generator: Launchpad (build 16194)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-23 05:05+0000\n"
|
||||
"X-Generator: Launchpad (build 16179)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-22 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
@ -66,7 +66,7 @@ msgstr ""
|
|||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:499
|
||||
msgid "Restored"
|
||||
msgstr ""
|
||||
msgstr "Atkurta"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:499
|
||||
|
@ -253,7 +253,7 @@ msgstr ""
|
|||
#: addons/web/static/src/js/formats.js:139
|
||||
#, python-format
|
||||
msgid "(%d records)"
|
||||
msgstr ""
|
||||
msgstr "(%d įrašai(-ų))"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/formats.js:325
|
||||
|
@ -265,7 +265,7 @@ msgstr "Atsisiųsti"
|
|||
#: addons/web/static/src/js/formats.js:330
|
||||
#, python-format
|
||||
msgid "Download \"%s\""
|
||||
msgstr ""
|
||||
msgstr "Parsisiųsti \"%s\""
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/search.js:437
|
||||
|
@ -527,12 +527,12 @@ msgstr "Forma"
|
|||
#: addons/web/static/src/xml/base.xml:763
|
||||
#: addons/web/static/src/xml/base.xml:1714
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "Ištrinti"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:762
|
||||
msgid "Duplicate"
|
||||
msgstr ""
|
||||
msgstr "Sukurti kopiją"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/view_form.js:133
|
||||
|
@ -589,12 +589,12 @@ msgstr ""
|
|||
#: addons/web/static/src/js/view_form.js:2238
|
||||
#, python-format
|
||||
msgid "<em> Create \"<strong>%s</strong>\"</em>"
|
||||
msgstr ""
|
||||
msgstr "<em> Sukurti \"<strong>%s</strong>\"</em>"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/view_form.js:2244
|
||||
msgid "<em> Create and Edit...</em>"
|
||||
msgstr ""
|
||||
msgstr "<em> Sukurti ir redaguoti...</em>"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/view_form.js:2277
|
||||
|
@ -606,7 +606,7 @@ msgstr "Paieška: "
|
|||
#: addons/web/static/src/js/view_form.js:2277
|
||||
#: addons/web/static/src/js/view_form.js:2765
|
||||
msgid "Create: "
|
||||
msgstr ""
|
||||
msgstr "Sukurti "
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/view_form.js:2062
|
||||
|
@ -668,7 +668,7 @@ msgstr "Grupė"
|
|||
#. openerp-web
|
||||
#: addons/web/static/src/js/view_list.js:549
|
||||
msgid "Do you really want to remove these records?"
|
||||
msgstr ""
|
||||
msgstr "Ar tikrai norite ištrinti šiuos įrašus?"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/views.js:925
|
||||
|
@ -813,25 +813,25 @@ msgstr ""
|
|||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:297
|
||||
msgid "Invalid username or password"
|
||||
msgstr ""
|
||||
msgstr "Neteisingas naudotojo vardas arba slaptažodis"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:116
|
||||
#: addons/web/static/src/xml/base.xml:150
|
||||
#: addons/web/static/src/xml/base.xml:301
|
||||
msgid "Database:"
|
||||
msgstr ""
|
||||
msgstr "Duomenų bazė:"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:306
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
msgstr "Naudotojas"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:308
|
||||
#: addons/web/static/src/xml/base.xml:331
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "Slaptažodis"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:310
|
||||
|
@ -870,17 +870,17 @@ msgstr ""
|
|||
#: addons/web/static/src/xml/base.xml:195
|
||||
#: addons/web/static/src/xml/base.xml:330
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
msgstr "Atkurti"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:332
|
||||
msgid "Back to Login"
|
||||
msgstr ""
|
||||
msgstr "Grįžti į prisijungimo langą"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:61
|
||||
msgid "CREATE DATABASE"
|
||||
msgstr ""
|
||||
msgstr "SUKURTI DUOMENŲ BAZĘ"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:68 addons/web/static/src/xml/base.xml:211
|
||||
|
@ -922,7 +922,7 @@ msgstr ""
|
|||
#: addons/web/static/src/xml/base.xml:162
|
||||
#: addons/web/static/src/xml/base.xml:187
|
||||
msgid "Master Password:"
|
||||
msgstr ""
|
||||
msgstr "Pagrindinis slaptažodis"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:143
|
||||
|
@ -932,7 +932,7 @@ msgstr ""
|
|||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:175
|
||||
msgid "RESTORE DATABASE"
|
||||
msgstr ""
|
||||
msgstr "ATKURTI DUOMENŲ BAZĘ"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:182
|
||||
|
@ -1012,17 +1012,17 @@ msgstr "OpenERP.com"
|
|||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:1720
|
||||
msgid "Old Password:"
|
||||
msgstr ""
|
||||
msgstr "Esamas slaptažodis:"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:1725
|
||||
msgid "New Password:"
|
||||
msgstr ""
|
||||
msgstr "Naujas slaptažodis:"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:1730
|
||||
msgid "Confirm Password:"
|
||||
msgstr ""
|
||||
msgstr "Patvirtinti slaptažodį:"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:390
|
||||
|
@ -1254,7 +1254,7 @@ msgstr ""
|
|||
#: addons/web/static/src/xml/base.xml:1222
|
||||
#: addons/web/static/src/xml/base.xml:1279
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
msgstr "Išvalyti"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:1179
|
||||
|
@ -1408,12 +1408,12 @@ msgstr ""
|
|||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:1509
|
||||
msgid "Save & New"
|
||||
msgstr ""
|
||||
msgstr "Išsaugoti ir sukurti naują"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:1510
|
||||
msgid "Save & Close"
|
||||
msgstr ""
|
||||
msgstr "Išsaugoti ir uždaryti"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/xml/base.xml:1617
|
||||
|
@ -1572,9 +1572,6 @@ msgstr ""
|
|||
#~ msgid "Advanced Filters"
|
||||
#~ msgstr "Išplėstiniai filtrai"
|
||||
|
||||
#~ msgid "Other Options"
|
||||
#~ msgstr "Kiti nustatymai"
|
||||
|
||||
#~ msgid "OK"
|
||||
#~ msgstr "Gerai"
|
||||
|
||||
|
@ -1602,3 +1599,22 @@ msgstr ""
|
|||
|
||||
#~ msgid "Reports"
|
||||
#~ msgstr "Ataskaitos"
|
||||
|
||||
#~ msgid "Other Options"
|
||||
#~ msgstr "Kitos parinktys"
|
||||
|
||||
#~ msgid "LOGOUT"
|
||||
#~ msgstr "ATSIJUNGTI"
|
||||
|
||||
#~ msgid "Create..."
|
||||
#~ msgstr "Sukurti..."
|
||||
|
||||
#~ msgid "Search"
|
||||
#~ msgstr "Ieškoti"
|
||||
|
||||
#~ msgid "Search..."
|
||||
#~ msgstr "Ieškoti..."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "[%(first_record)d to %(last_record)d] of %(records_count)d"
|
||||
#~ msgstr "[%(first_record)d iki %(last_record)d] iš %(records_count)d"
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
@ -243,17 +243,19 @@ msgid ""
|
|||
"Destination fields should only be selected once, some fields are selected "
|
||||
"more than once:"
|
||||
msgstr ""
|
||||
"Pola docelowe muszą być wybierane tylko raz. niektóre inne pola mogą być "
|
||||
"wybierane więcej niż raz:"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/data_import.js:386
|
||||
msgid "*Required Fields are not selected :"
|
||||
msgstr ""
|
||||
msgstr "*Wymagane pola nie zostały wybrane :"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/formats.js:139
|
||||
#, python-format
|
||||
msgid "(%d records)"
|
||||
msgstr ""
|
||||
msgstr "(%d rekordów)"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/formats.js:325
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-11-02 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-11-02 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16218)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:02+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:07+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-11-07 04:55+0000\n"
|
||||
"X-Generator: Launchpad (build 16232)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web/static/src/js/chrome.js:176
|
||||
|
|
|
@ -27,7 +27,8 @@
|
|||
var $tip = this.tip();
|
||||
|
||||
$tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title);
|
||||
$tip[0].className = 'tipsy openerp oe_tooltip '; // reset classname in case of dynamic gravity
|
||||
$tip[0].className = 'tipsy '; // reset classname in case of dynamic gravity
|
||||
$tip.openerpClass('oe_tooltip');
|
||||
$tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).prependTo(document.body);
|
||||
|
||||
var pos = $.extend({}, this.$element.offset(), {
|
||||
|
|
|
@ -2406,6 +2406,9 @@
|
|||
float: right;
|
||||
padding-left: 2px;
|
||||
}
|
||||
.openerp .oe_form_field_many2one input {
|
||||
padding-right: 13px;
|
||||
}
|
||||
.openerp.ui-autocomplete li.oe_m2o_dropdown_option a {
|
||||
font-style: italic;
|
||||
padding-left: 2em;
|
||||
|
@ -2637,6 +2640,8 @@
|
|||
border-radius: 0;
|
||||
border: 1px solid #aaaaff;
|
||||
margin: 0;
|
||||
}
|
||||
.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field select {
|
||||
min-width: 0;
|
||||
}
|
||||
.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
|
||||
|
@ -2711,6 +2716,9 @@
|
|||
text-align: right !important;
|
||||
max-width: 100px;
|
||||
}
|
||||
.openerp .oe_list_content td.oe_list_field_date, .openerp .oe_list_content th.oe_list_header_date {
|
||||
min-width: 6em;
|
||||
}
|
||||
.openerp .oe_list_content > thead {
|
||||
border-bottom: 2px solid #cacaca;
|
||||
background: #eeeeee;
|
||||
|
|
|
@ -1908,6 +1908,8 @@ $sheet-padding: 16px
|
|||
line-height: 14px
|
||||
float: right
|
||||
padding-left: 2px
|
||||
input
|
||||
padding-right: 13px
|
||||
&.ui-autocomplete
|
||||
li.oe_m2o_dropdown_option a
|
||||
font-style: italic
|
||||
|
@ -2061,6 +2063,7 @@ $sheet-padding: 16px
|
|||
@include radius(0)
|
||||
border: 1px solid #aaf
|
||||
margin: 0
|
||||
input, textarea, select
|
||||
min-width: 0
|
||||
&.oe_form_field_float,&.oe_form_view_integer
|
||||
input
|
||||
|
@ -2127,6 +2130,8 @@ $sheet-padding: 16px
|
|||
td.oe_number
|
||||
text-align: right !important
|
||||
max-width: 100px
|
||||
td.oe_list_field_date, th.oe_list_header_date
|
||||
min-width: 6em
|
||||
> thead
|
||||
border-bottom: 2px solid #cacaca
|
||||
background: #eee
|
||||
|
|
|
@ -48,7 +48,7 @@ instance.web.Notification = instance.web.Widget.extend({
|
|||
*/
|
||||
instance.web.dialog = function(element) {
|
||||
var result = element.dialog.apply(element, _.rest(_.toArray(arguments)));
|
||||
result.dialog("widget").addClass("openerp");
|
||||
result.dialog("widget").openerpClass();
|
||||
return result;
|
||||
};
|
||||
|
||||
|
@ -190,7 +190,14 @@ instance.web.Dialog = instance.web.Widget.extend({
|
|||
});
|
||||
|
||||
instance.web.CrashManager = instance.web.Class.extend({
|
||||
init: function() {
|
||||
this.active = true;
|
||||
},
|
||||
|
||||
rpc_error: function(error) {
|
||||
if (!this.active) {
|
||||
return;
|
||||
}
|
||||
if (error.data.fault_code) {
|
||||
var split = ("" + error.data.fault_code).split('\n')[0].split(' -- ');
|
||||
if (split.length > 1) {
|
||||
|
@ -205,6 +212,9 @@ instance.web.CrashManager = instance.web.Class.extend({
|
|||
}
|
||||
},
|
||||
show_warning: function(error) {
|
||||
if (!this.active) {
|
||||
return;
|
||||
}
|
||||
instance.web.dialog($('<div>' + QWeb.render('CrashManager.warning', {error: error}) + '</div>'), {
|
||||
title: "OpenERP " + _.str.capitalize(error.type),
|
||||
buttons: [
|
||||
|
@ -213,7 +223,9 @@ instance.web.CrashManager = instance.web.Class.extend({
|
|||
});
|
||||
},
|
||||
show_error: function(error) {
|
||||
var self = this;
|
||||
if (!this.active) {
|
||||
return;
|
||||
}
|
||||
var buttons = {};
|
||||
buttons[_t("Ok")] = function() {
|
||||
$(this).dialog("close");
|
||||
|
@ -333,6 +345,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
|||
self.$el.find("tr td:first-child").addClass("oe_form_group_cell_label");
|
||||
self.$el.find("label").addClass("oe_form_label");
|
||||
self.$el.find("form[name=create_db_form]").validate({ submitHandler: self.do_create });
|
||||
self.$el.find("form[name=duplicate_db_form]").validate({ submitHandler: self.do_duplicate });
|
||||
self.$el.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop });
|
||||
self.$el.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup });
|
||||
self.$el.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore });
|
||||
|
@ -418,6 +431,18 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
|
|||
self.do_action(client_action);
|
||||
});
|
||||
},
|
||||
do_duplicate: function(form) {
|
||||
var self = this;
|
||||
var fields = $(form).serializeArray();
|
||||
self.rpc("/web/database/duplicate", {'fields': fields}).then(function(result) {
|
||||
if (result.error) {
|
||||
self.display_error(result);
|
||||
return;
|
||||
}
|
||||
self.do_notify("Duplicating database", "The database has been duplicated.");
|
||||
self.start();
|
||||
});
|
||||
},
|
||||
do_drop: function(form) {
|
||||
var self = this;
|
||||
var $form = $(form),
|
||||
|
@ -518,6 +543,9 @@ instance.web.Login = instance.web.Widget.extend({
|
|||
this.selected_db = null;
|
||||
this.selected_login = null;
|
||||
this.params = action.params || {};
|
||||
if (_.isEmpty(this.params)) {
|
||||
this.params = $.bbq.getState(true);
|
||||
}
|
||||
|
||||
if (this.params.login_successful) {
|
||||
this.on('login_successful', this, this.params.login_successful);
|
||||
|
@ -619,9 +647,35 @@ instance.web.Login = instance.web.Widget.extend({
|
|||
});
|
||||
instance.web.client_actions.add("login", "instance.web.Login");
|
||||
|
||||
/**
|
||||
* Redirect to url by replacing window.location
|
||||
* If wait is true, sleep 1s and wait for the server i.e. after a restart.
|
||||
*/
|
||||
instance.web.redirect = function(url, wait) {
|
||||
// Dont display a dialog if some xmlhttprequest are in progress
|
||||
if (instance.client && instance.client.crashmanager) {
|
||||
instance.client.crashmanager.active = false;
|
||||
}
|
||||
|
||||
var wait_server = function() {
|
||||
instance.session.rpc("/web/webclient/version_info", {}).done(function() {
|
||||
window.location = url;
|
||||
}).fail(function() {
|
||||
setTimeout(wait_server, 250);
|
||||
});
|
||||
};
|
||||
|
||||
if (wait) {
|
||||
setTimeout(wait_server, 1000);
|
||||
} else {
|
||||
window.location = url;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Client action to reload the whole interface.
|
||||
* If params has an entry 'menu_id', it opens the given menu entry.
|
||||
* If params.menu_id, it opens the given menu entry.
|
||||
* If params.wait, reload will wait the openerp server to be reachable before reloading
|
||||
*/
|
||||
instance.web.Reload = function(parent, action) {
|
||||
var params = action.params || {};
|
||||
|
@ -637,8 +691,8 @@ instance.web.Reload = function(parent, action) {
|
|||
hash = "#menu_id=" + menu_id;
|
||||
}
|
||||
var url = l.protocol + "//" + l.host + l.pathname + search + hash;
|
||||
window.onerror = function() {};
|
||||
window.location = url;
|
||||
|
||||
instance.web.redirect(url, params.wait);
|
||||
};
|
||||
instance.web.client_actions.add("reload", "instance.web.Reload");
|
||||
|
||||
|
@ -648,7 +702,7 @@ instance.web.client_actions.add("reload", "instance.web.Reload");
|
|||
*/
|
||||
instance.web.HistoryBack = function(parent) {
|
||||
if (!parent.history_back()) {
|
||||
window.location = '/' + (window.location.search || '');
|
||||
instance.web.Home(parent);
|
||||
}
|
||||
};
|
||||
instance.web.client_actions.add("history_back", "instance.web.HistoryBack");
|
||||
|
@ -656,11 +710,10 @@ instance.web.client_actions.add("history_back", "instance.web.HistoryBack");
|
|||
/**
|
||||
* Client action to go back home.
|
||||
*/
|
||||
instance.web.Home = instance.web.Widget.extend({
|
||||
init: function(parent) {
|
||||
window.location = '/' + (window.location.search || '');
|
||||
}
|
||||
});
|
||||
instance.web.Home = function(parent, action) {
|
||||
var url = '/' + (window.location.search || '');
|
||||
instance.web.redirect(url, action.params && action.params.wait);
|
||||
};
|
||||
instance.web.client_actions.add("home", "instance.web.Home");
|
||||
|
||||
instance.web.ChangePassword = instance.web.Widget.extend({
|
||||
|
@ -887,7 +940,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
|
|||
if(res.company_id[0] > 1)
|
||||
topbar_name = _.str.sprintf("%s (%s)", topbar_name, res.company_id[1]);
|
||||
self.$el.find('.oe_topbar_name').text(topbar_name);
|
||||
var avatar_src = _.str.sprintf('%s/web/binary/image?session_id=%s&model=res.users&field=image_small&id=%s', self.session.prefix, self.session.session_id, self.session.uid);
|
||||
var avatar_src = self.session.url('/web/binary/image', {model:'res.users', field: 'image_small', id: self.session.uid});
|
||||
$avatar.attr('src', avatar_src);
|
||||
});
|
||||
};
|
||||
|
@ -930,6 +983,7 @@ instance.web.Client = instance.web.Widget.extend({
|
|||
return instance.session.session_bind(this.origin).then(function() {
|
||||
var $e = $(QWeb.render(self._template, {}));
|
||||
self.replaceElement($e);
|
||||
$e.openerpClass();
|
||||
self.bind_events();
|
||||
return self.show_common();
|
||||
});
|
||||
|
@ -1106,7 +1160,7 @@ instance.web.WebClient = instance.web.Client.extend({
|
|||
var self = this;
|
||||
var state = event.getState(true);
|
||||
if (!_.isEqual(this._current_state, state)) {
|
||||
if(state.action_id === undefined && state.menu_id) {
|
||||
if(state.action === undefined && state.menu_id) {
|
||||
self.menu.has_been_loaded.done(function() {
|
||||
self.menu.do_reload().done(function() {
|
||||
self.menu.menu_click(state.menu_id)
|
||||
|
|
|
@ -1276,7 +1276,7 @@ instance.web.JsonRPC = instance.web.Class.extend(instance.web.PropertiesMixin, {
|
|||
};
|
||||
deferred.reject(error, $.Event());
|
||||
});
|
||||
// Allow deferred user to disable on_rpc_error in fail
|
||||
// Allow deferred user to disable rpc_error call in fail
|
||||
deferred.fail(function() {
|
||||
deferred.fail(function(error, event) {
|
||||
if (!event.isDefaultPrevented()) {
|
||||
|
@ -1309,9 +1309,18 @@ instance.web.JsonRPC = instance.web.Class.extend(instance.web.PropertiesMixin, {
|
|||
// extracted from payload to set on the url
|
||||
var data = {
|
||||
session_id: this.session_id,
|
||||
id: payload.id
|
||||
id: payload.id,
|
||||
sid: this.httpsessionid,
|
||||
};
|
||||
url.url = this.get_url(url.url);
|
||||
|
||||
var set_sid = function (response, textStatus, jqXHR) {
|
||||
// If response give us the http session id, we store it for next requests...
|
||||
if (response.httpsessionid) {
|
||||
self.httpsessionid = response.httpsessionid;
|
||||
}
|
||||
};
|
||||
|
||||
url.url = this.url(url.url, null);
|
||||
var ajax = _.extend({
|
||||
type: "GET",
|
||||
dataType: 'jsonp',
|
||||
|
@ -1326,7 +1335,7 @@ instance.web.JsonRPC = instance.web.Class.extend(instance.web.PropertiesMixin, {
|
|||
if(payload_url.length < 2000) {
|
||||
// Direct jsonp request
|
||||
ajax.data.r = payload_str;
|
||||
return $.ajax(ajax);
|
||||
return $.ajax(ajax).done(set_sid);
|
||||
} else {
|
||||
// Indirect jsonp request
|
||||
var ifid = _.uniqueId('oe_rpc_iframe');
|
||||
|
@ -1364,11 +1373,20 @@ instance.web.JsonRPC = instance.web.Class.extend(instance.web.PropertiesMixin, {
|
|||
});
|
||||
// append the iframe to the DOM (will trigger the first load)
|
||||
$form.after($iframe);
|
||||
return deferred;
|
||||
return deferred.done(set_sid);
|
||||
}
|
||||
},
|
||||
get_url: function (file) {
|
||||
return this.prefix + file;
|
||||
|
||||
url: function(path, params) {
|
||||
var qs = '';
|
||||
if (!_.isNull(params)) {
|
||||
params = _.extend(params || {}, {session_id: this.session_id});
|
||||
if (this.httpsessionid) {
|
||||
params.sid = this.httpsessionid;
|
||||
}
|
||||
qs = '?' + $.param(params);
|
||||
}
|
||||
return this.prefix + path + qs;
|
||||
},
|
||||
});
|
||||
|
||||
|
|
|
@ -3,10 +3,13 @@
|
|||
*--------------------------------------------------------*/
|
||||
var console;
|
||||
if (!console) {
|
||||
console = {log: function () {}};
|
||||
}
|
||||
if (!console.debug) {
|
||||
console.debug = console.log;
|
||||
// Even IE9 only exposes console object if debug window opened
|
||||
console = {};
|
||||
('log error debug info warn assert clear dir dirxml trace group'
|
||||
+ ' groupCollapsed groupEnd time timeEnd profile profileEnd count'
|
||||
+ ' exception').split(/\s+/).forEach(function(property) {
|
||||
console[property] = _.identity;
|
||||
});
|
||||
}
|
||||
|
||||
openerp.web.coresetup = function(instance) {
|
||||
|
@ -198,7 +201,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
|||
var self = this;
|
||||
_.each(files, function (file) {
|
||||
$('head').append($('<link>', {
|
||||
'href': self.get_url(file),
|
||||
'href': self.url(file, null),
|
||||
'rel': 'stylesheet',
|
||||
'type': 'text/css'
|
||||
}));
|
||||
|
@ -207,11 +210,11 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
|||
load_js: function(files) {
|
||||
var self = this;
|
||||
var d = $.Deferred();
|
||||
if(files.length != 0) {
|
||||
if(files.length !== 0) {
|
||||
var file = files.shift();
|
||||
var tag = document.createElement('script');
|
||||
tag.type = 'text/javascript';
|
||||
tag.src = self.get_url(file);
|
||||
tag.src = self.url(file, null);
|
||||
tag.onload = tag.onreadystatechange = function() {
|
||||
if ( (tag.readyState && tag.readyState != "loaded" && tag.readyState != "complete") || tag.onload_done )
|
||||
return;
|
||||
|
@ -457,6 +460,16 @@ $.fn.getAttributes = function() {
|
|||
}
|
||||
return o;
|
||||
}
|
||||
$.fn.openerpClass = function(additionalClass) {
|
||||
// This plugin should be applied on top level elements
|
||||
additionalClass = additionalClass || '';
|
||||
if (!!$.browser.msie) {
|
||||
additionalClass += ' openerp_ie';
|
||||
}
|
||||
return this.each(function() {
|
||||
$(this).addClass('openerp ' + additionalClass);
|
||||
});
|
||||
};
|
||||
|
||||
/** Jquery extentions */
|
||||
$.Mutex = (function() {
|
||||
|
|
|
@ -721,10 +721,10 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({
|
|||
this.last_default_get = {};
|
||||
},
|
||||
default_get: function(fields, options) {
|
||||
return this._super(fields, options).done(this.on_default_get);
|
||||
},
|
||||
on_default_get: function(res) {
|
||||
this.last_default_get = res;
|
||||
var self = this;
|
||||
return this._super(fields, options).done(function(res) {
|
||||
self.last_default_get = res;
|
||||
});
|
||||
},
|
||||
create: function(data) {
|
||||
var cached = {id:_.uniqueId(this.virtual_id_prefix), values: data,
|
||||
|
|
|
@ -1191,14 +1191,36 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
|
|||
});
|
||||
}
|
||||
},
|
||||
view_arch_to_dom_node: function(arch) {
|
||||
// Historic mess for views arch
|
||||
//
|
||||
// server:
|
||||
// -> got xml as string
|
||||
// -> parse to xml and manipulate domains and contexts
|
||||
// -> convert to json
|
||||
// client:
|
||||
// -> got view as json
|
||||
// -> convert back to xml as string
|
||||
// -> parse it as xml doc (manipulate button@type for IE)
|
||||
// -> convert back to string
|
||||
// -> parse it as dom element with jquery
|
||||
// -> for each widget, convert node to json
|
||||
//
|
||||
// Wow !!!
|
||||
var xml = instance.web.json_node_to_xml(arch);
|
||||
|
||||
var doc = $.parseXML('<div class="oe_form">' + xml + '</div>');
|
||||
$('button', doc).each(function() {
|
||||
$(this).attr('data-button-type', $(this).attr('type'));
|
||||
});
|
||||
xml = instance.web.xml_to_str(doc);
|
||||
return $(xml);
|
||||
},
|
||||
render_to: function($target) {
|
||||
var self = this;
|
||||
this.$target = $target;
|
||||
|
||||
// TODO: I know this will save the world and all the kitten for a moment,
|
||||
// but one day, we will have to get rid of xml2json
|
||||
var xml = instance.web.json_node_to_xml(this.fvg.arch);
|
||||
this.$form = $('<div class="oe_form">' + xml + '</div>');
|
||||
this.$form = this.view_arch_to_dom_node(this.fvg.arch);
|
||||
|
||||
this.process_version();
|
||||
|
||||
|
@ -1867,6 +1889,7 @@ instance.web.form.FormWidget = instance.web.Widget.extend(instance.web.form.Invi
|
|||
instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({
|
||||
template: 'WidgetButton',
|
||||
init: function(field_manager, node) {
|
||||
node.attrs.type = node.attrs['data-button-type'];
|
||||
this._super(field_manager, node);
|
||||
this.force_disabled = false;
|
||||
this.string = (this.node.attrs.string || '').replace(/_/g, '');
|
||||
|
@ -2383,7 +2406,7 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
|
|||
self.$input.focus();
|
||||
return;
|
||||
}
|
||||
self.picker('setDate', self.value ? instance.web.auto_str_to_date(self.value) : new Date());
|
||||
self.picker('setDate', self.get('value') ? instance.web.auto_str_to_date(self.get('value')) : new Date());
|
||||
self.$input_picker.show();
|
||||
self.picker('show');
|
||||
self.$input_picker.hide();
|
||||
|
@ -3099,7 +3122,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
|||
minLength: 0,
|
||||
delay: 0
|
||||
});
|
||||
this.$input.autocomplete("widget").addClass("openerp");
|
||||
this.$input.autocomplete("widget").openerpClass();
|
||||
// used to correct a bug when selecting an element by pushing 'enter' in an editable list
|
||||
this.$input.keyup(function(e) {
|
||||
if (e.which === 13) { // ENTER
|
||||
|
@ -3992,13 +4015,18 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
|
|||
self._drop_shown = true;
|
||||
});
|
||||
self.tags = self.$text.textext()[0].tags();
|
||||
self.$text.focusout(function() {
|
||||
self.$text.trigger("setInputData", "");
|
||||
}).keydown(function(e) {
|
||||
if (e.which === $.ui.keyCode.TAB && self._drop_shown) {
|
||||
self.$text.textext()[0].autocomplete().selectFromDropdown();
|
||||
}
|
||||
});
|
||||
self.$text
|
||||
.focusin(function () {
|
||||
self.trigger('focused');
|
||||
})
|
||||
.focusout(function() {
|
||||
self.$text.trigger("setInputData", "");
|
||||
self.trigger('blurred');
|
||||
}).keydown(function(e) {
|
||||
if (e.which === $.ui.keyCode.TAB && self._drop_shown) {
|
||||
self.$text.textext()[0].autocomplete().selectFromDropdown();
|
||||
}
|
||||
});
|
||||
},
|
||||
set_value: function(value_) {
|
||||
value_ = value_ || [];
|
||||
|
@ -4834,6 +4862,7 @@ instance.web.form.FieldBinary = instance.web.form.AbstractField.extend(instance.
|
|||
link.href = "data:application/octet-stream;base64," + value;
|
||||
} else {
|
||||
instance.web.blockUI();
|
||||
var c = instance.webclient.crashmanager;
|
||||
this.session.get_file({
|
||||
url: '/web/binary/saveas_ajax',
|
||||
data: {data: JSON.stringify({
|
||||
|
@ -4844,7 +4873,7 @@ instance.web.form.FieldBinary = instance.web.form.AbstractField.extend(instance.
|
|||
context: this.view.dataset.get_context()
|
||||
})},
|
||||
complete: instance.web.unblockUI,
|
||||
error: instance.webclient.crashmanager.on_rpc_error
|
||||
error: c.rpc_error.bind(c)
|
||||
});
|
||||
ev.stopPropagation();
|
||||
return false;
|
||||
|
@ -4927,8 +4956,12 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({
|
|||
var field = this.name;
|
||||
if (this.options.preview_image)
|
||||
field = this.options.preview_image;
|
||||
url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' +
|
||||
this.view.dataset.model +'&id=' + id + '&field=' + field + '&t=' + (new Date().getTime());
|
||||
url = this.session.url('/web/binary/image', {
|
||||
model: this.view.dataset.model,
|
||||
id: id,
|
||||
field: field,
|
||||
t: (new Date().getTime()),
|
||||
});
|
||||
} else {
|
||||
url = this.placeholder;
|
||||
}
|
||||
|
@ -4984,21 +5017,85 @@ instance.web.form.FieldOne2ManyBinaryMultiFiles = instance.web.form.AbstractFiel
|
|||
this._super(this);
|
||||
this.$el.on('change', 'input.oe_form_binary_file', this.on_file_change );
|
||||
},
|
||||
set_value: function(value_) {
|
||||
var value_ = value_ || [];
|
||||
var self = this;
|
||||
var ids = [];
|
||||
_.each(value_, function(command) {
|
||||
if (isNaN(command) && command.id == undefined) {
|
||||
switch (command[0]) {
|
||||
case commands.CREATE:
|
||||
ids = ids.concat(command[2]);
|
||||
return;
|
||||
case commands.REPLACE_WITH:
|
||||
ids = ids.concat(command[2]);
|
||||
return;
|
||||
case commands.UPDATE:
|
||||
ids = ids.concat(command[2]);
|
||||
return;
|
||||
case commands.LINK_TO:
|
||||
ids = ids.concat(command[1]);
|
||||
return;
|
||||
case commands.DELETE:
|
||||
ids = _.filter(ids, function (id) { return id != command[1];});
|
||||
return;
|
||||
case commands.DELETE_ALL:
|
||||
ids = [];
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
ids.push(command);
|
||||
}
|
||||
});
|
||||
this._super( ids );
|
||||
},
|
||||
get_value: function() {
|
||||
return _.map(this.get('value'), function (value) { return commands.link_to( value.id ); });
|
||||
},
|
||||
get_file_url: function (attachment) {
|
||||
return instance.origin + '/web/binary/saveas?session_id=' + this.session.session_id + '&model=ir.attachment&field=datas&filename_field=datas_fname&id=' + attachment['id'];
|
||||
return this.session.url('/web/binary/saveas', {model: 'ir.attachment', field: 'datas', filename_field: 'datas_fname', id: attachment['id']});
|
||||
},
|
||||
read_name_values : function () {
|
||||
var self = this;
|
||||
// select the list of id for a get_name
|
||||
var values = [];
|
||||
_.each(this.get('value'), function (val) {
|
||||
if (typeof val != 'object') {
|
||||
values.push(val);
|
||||
}
|
||||
});
|
||||
// send request for get_name
|
||||
if (values.length) {
|
||||
return this.ds_file.call('read', [values, ['id', 'name', 'datas_fname']]).done(function (datas) {
|
||||
_.each(datas, function (data) {
|
||||
data.no_unlink = true;
|
||||
data.url = self.session.url('/web/binary/saveas', {model: 'ir.attachment', field: 'datas', filename_field: 'datas_fname', id: data.id});
|
||||
|
||||
_.each(self.get('value'), function (val, key) {
|
||||
if(val == data.id) {
|
||||
self.get('value')[key] = data;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
} else {
|
||||
return $.when(this.get('value'));
|
||||
}
|
||||
},
|
||||
render_value: function () {
|
||||
var render = $(instance.web.qweb.render('FieldBinaryFileUploader.files', {'widget': this}));
|
||||
render.on('click', '.oe_delete', _.bind(this.on_file_delete, this));
|
||||
this.$('.oe_placeholder_files, .oe_attachments').replaceWith( render );
|
||||
var self = this;
|
||||
this.read_name_values().then(function (datas) {
|
||||
|
||||
// reinit input type file
|
||||
var $input = this.$('input.oe_form_binary_file');
|
||||
$input.after($input.clone(true)).remove();
|
||||
this.$(".oe_fileupload").show();
|
||||
var render = $(instance.web.qweb.render('FieldBinaryFileUploader.files', {'widget': self}));
|
||||
render.on('click', '.oe_delete', _.bind(self.on_file_delete, self));
|
||||
self.$('.oe_placeholder_files, .oe_attachments').replaceWith( render );
|
||||
|
||||
// reinit input type file
|
||||
var $input = self.$('input.oe_form_binary_file');
|
||||
$input.after($input.clone(true)).remove();
|
||||
self.$(".oe_fileupload").show();
|
||||
|
||||
});
|
||||
},
|
||||
on_file_change: function (event) {
|
||||
event.stopPropagation();
|
||||
|
@ -5078,7 +5175,7 @@ instance.web.form.FieldOne2ManyBinaryMultiFiles = instance.web.form.AbstractFiel
|
|||
if(file_id != this.get('value')[i].id){
|
||||
files.push(this.get('value')[i]);
|
||||
}
|
||||
else {
|
||||
else if(!this.get('value')[i].no_unlink) {
|
||||
this.ds_file.unlink([file_id]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2173,9 +2173,7 @@ instance.web.list.Binary = instance.web.list.Column.extend({
|
|||
if (value && value.substr(0, 10).indexOf(' ') == -1) {
|
||||
download_url = "data:application/octet-stream;base64," + value;
|
||||
} else {
|
||||
download_url = _.str.sprintf(
|
||||
'/web/binary/saveas?session_id=%s&model=%s&field=%s&id=%d',
|
||||
instance.session.session_id, options.model, this.id, options.id);
|
||||
download_url = this.session.url('/web/binary/saveas', {model: options.model, field: this.id, id: options.id});
|
||||
if (this.filename) {
|
||||
download_url += '&filename_field=' + this.filename;
|
||||
}
|
||||
|
|
|
@ -157,13 +157,7 @@ openerp.web.list_editable = function (instance) {
|
|||
* @returns {$.Deferred}
|
||||
*/
|
||||
ensure_saved: function () {
|
||||
var self = this;
|
||||
return this.saving_mutex.exec(function() {
|
||||
if (!self.editor.is_editing()) {
|
||||
return $.when();
|
||||
}
|
||||
return self.save_edition();
|
||||
});
|
||||
return this.save_edition();
|
||||
},
|
||||
/**
|
||||
* Builds a record with the provided id (``false`` for a creation),
|
||||
|
@ -273,29 +267,34 @@ openerp.web.list_editable = function (instance) {
|
|||
*/
|
||||
save_edition: function () {
|
||||
var self = this;
|
||||
return this.with_event('save', {
|
||||
editor: this.editor,
|
||||
form: this.editor.form,
|
||||
cancel: false
|
||||
}, function () {
|
||||
return this.editor.save().then(function (attrs) {
|
||||
var created = false;
|
||||
var record = self.records.get(attrs.id);
|
||||
if (!record) {
|
||||
// new record
|
||||
created = true;
|
||||
record = self.records.find(function (r) {
|
||||
return !r.get('id');
|
||||
}).set('id', attrs.id);
|
||||
}
|
||||
// onwrite callback could be altering & reloading the
|
||||
// record which has *just* been saved, so first perform all
|
||||
// onwrites then do a final reload of the record
|
||||
return self.handle_onwrite(record)
|
||||
.then(function () {
|
||||
return self.reload_record(record); })
|
||||
.then(function () {
|
||||
return { created: created, record: record }; });
|
||||
return self.saving_mutex.exec(function() {
|
||||
if (!self.editor.is_editing()) {
|
||||
return $.when();
|
||||
}
|
||||
return self.with_event('save', {
|
||||
editor: self.editor,
|
||||
form: self.editor.form,
|
||||
cancel: false
|
||||
}, function () {
|
||||
return self.editor.save().then(function (attrs) {
|
||||
var created = false;
|
||||
var record = self.records.get(attrs.id);
|
||||
if (!record) {
|
||||
// new record
|
||||
created = true;
|
||||
record = self.records.find(function (r) {
|
||||
return !r.get('id');
|
||||
}).set('id', attrs.id);
|
||||
}
|
||||
// onwrite callback could be altering & reloading the
|
||||
// record which has *just* been saved, so first perform all
|
||||
// onwrites then do a final reload of the record
|
||||
return self.handle_onwrite(record)
|
||||
.then(function () {
|
||||
return self.reload_record(record); })
|
||||
.then(function () {
|
||||
return { created: created, record: record }; });
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
|
|
@ -25,6 +25,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
dialog_stop: function () {
|
||||
if (this.dialog) {
|
||||
this.dialog.destroy();
|
||||
this.dialog = null;
|
||||
}
|
||||
},
|
||||
/**
|
||||
|
@ -310,15 +311,15 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
}
|
||||
var widget = executor.widget();
|
||||
if (executor.action.target === 'new') {
|
||||
if (this.dialog_widget && ! this.dialog_widget.isDestroyed())
|
||||
if (this.dialog_widget && !this.dialog_widget.isDestroyed()) {
|
||||
this.dialog_widget.destroy();
|
||||
if (this.dialog === null || this.dialog.isDestroyed()) {
|
||||
this.dialog = new instance.web.Dialog(this, {
|
||||
dialogClass: executor.klass,
|
||||
});
|
||||
this.dialog.on("closing", null, options.on_close);
|
||||
this.dialog.init_dialog();
|
||||
}
|
||||
this.dialog_stop();
|
||||
this.dialog = new instance.web.Dialog(this, {
|
||||
dialogClass: executor.klass,
|
||||
});
|
||||
this.dialog.on("closing", null, options.on_close);
|
||||
this.dialog.init_dialog();
|
||||
this.dialog.dialog_title = executor.action.name;
|
||||
if (widget instanceof instance.web.ViewManager) {
|
||||
_.extend(widget.flags, {
|
||||
|
@ -401,6 +402,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
}).done(function(res) {
|
||||
action = _.clone(action);
|
||||
action.context = res.context;
|
||||
var c = instance.webclient.crashmanager;
|
||||
self.session.get_file({
|
||||
url: '/web/report',
|
||||
data: {action: JSON.stringify(action)},
|
||||
|
@ -411,7 +413,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
}
|
||||
self.dialog_stop();
|
||||
},
|
||||
error: instance.webclient.crashmanager.on_rpc_error
|
||||
error: c.rpc_error.bind(c)
|
||||
})
|
||||
});
|
||||
},
|
||||
|
@ -1101,11 +1103,11 @@ instance.web.Sidebar = instance.web.Widget.extend({
|
|||
on_attachments_loaded: function(attachments) {
|
||||
var self = this;
|
||||
var items = [];
|
||||
var prefix = this.session.origin + '/web/binary/saveas?session_id=' + self.session.session_id + '&model=ir.attachment&field=datas&filename_field=name&id=';
|
||||
var prefix = this.session.url('/web/binary/saveas', {model: 'ir.attachment', field: 'datas', filename_field: 'name'});
|
||||
_.each(attachments,function(a) {
|
||||
a.label = a.name;
|
||||
if(a.type === "binary") {
|
||||
a.url = prefix + a.id + '&t=' + (new Date().getTime());
|
||||
a.url = prefix + '&id=' + a.id + '&t=' + (new Date().getTime());
|
||||
}
|
||||
});
|
||||
self.items['files'] = attachments;
|
||||
|
@ -1238,11 +1240,12 @@ instance.web.View = instance.web.Widget.extend({
|
|||
});
|
||||
}, null);
|
||||
} else {
|
||||
self.do_action({"type":"ir.actions.act_window_close"});
|
||||
return result_handler();
|
||||
}
|
||||
};
|
||||
|
||||
if (action_data.special) {
|
||||
if (action_data.special === 'cancel') {
|
||||
return handler({"type":"ir.actions.act_window_close"});
|
||||
} else if (action_data.type=="object") {
|
||||
var args = [[record_id]], additional_args = [];
|
||||
|
@ -1408,14 +1411,16 @@ instance.web.json_node_to_xml = function(node, human_readable, indent) {
|
|||
} else {
|
||||
return r + '/>';
|
||||
}
|
||||
}
|
||||
};
|
||||
instance.web.xml_to_str = function(node) {
|
||||
if (window.ActiveXObject) {
|
||||
if (window.XMLSerializer) {
|
||||
return (new XMLSerializer()).serializeToString(node);
|
||||
} else if (window.ActiveXObject) {
|
||||
return node.xml;
|
||||
} else {
|
||||
return (new XMLSerializer()).serializeToString(node);
|
||||
throw new Error("Could not serialize XML");
|
||||
}
|
||||
}
|
||||
};
|
||||
instance.web.str_to_xml = function(s) {
|
||||
if (window.DOMParser) {
|
||||
var dp = new DOMParser();
|
||||
|
|
|
@ -152,6 +152,32 @@
|
|||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<form id="db_duplicate" name="duplicate_db_form" style="display: none;">
|
||||
<div class="oe_view_manager oe_view_manager_current">
|
||||
<div class="oe_view_manager_header" style="padding: 8px;">
|
||||
<div class="oe_header_row">
|
||||
<h2 class="oe_view_title">
|
||||
<span class="oe_view_title_text oe_breadcrumb_title">Duplicate Database</span>
|
||||
</h2>
|
||||
<button type="submit" class="oe_button oe_highlight db_duplicate">Duplicate</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table align="center" class="db_option_table">
|
||||
<tr>
|
||||
<td><label for="super_admin_pwd">Master password:</label></td>
|
||||
<td><input type="password" name="super_admin_pwd" class="required" value="admin" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="db_original_name">Original database name:</label></td>
|
||||
<td><input type="text" name="db_original_name" class="required" matches="^[a-zA-Z][a-zA-Z0-9_-]+$" autofocus="true"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="db_name">New database name:</label></td>
|
||||
<td><input type="text" name="db_name" class="required" matches="^[a-zA-Z][a-zA-Z0-9_-]+$" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<form id="db_drop" name="drop_db_form" style="display: none; ">
|
||||
<div class="oe_view_manager oe_view_manager_current">
|
||||
<div class="oe_view_manager_header" style="padding: 8px;">
|
||||
|
@ -279,6 +305,7 @@
|
|||
<div class="oe_secondary_menu_section">Database Management</div>
|
||||
<ul class="oe_secondary_submenu">
|
||||
<li><a href="#db_create">Create</a></li>
|
||||
<li><a href="#db_duplicate">Duplicate</a></li>
|
||||
<li><a href="#db_drop">Drop</a></li>
|
||||
<li><a href="#db_backup">Backup</a></li>
|
||||
<li><a href="#db_restore">Restore</a></li>
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. openerp-web
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
"Language: es\n"
|
||||
|
||||
#. openerp-web
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-21 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
|
@ -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: 2012-10-22 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-15 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 16265)\n"
|
||||
|
||||
#. openerp-web
|
||||
#: addons/web_calendar/static/src/js/calendar.js:11
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue