[MERGE]merge with main branch.

bzr revid: vme@tinyerp.com-20120109125918-mc7iaj1z1acxjrv1
This commit is contained in:
Vidhin Mehta (OpenERP) 2012-01-09 18:29:18 +05:30
commit c373f5b2cb
142 changed files with 4087 additions and 927 deletions

View File

@ -408,7 +408,7 @@ class Root(object):
self.config = options
if self.config.backend == 'local':
conn = openerplib.get_connector(protocol='local')
conn = LocalConnector()
else:
conn = openerplib.get_connector(hostname=self.config.server_host,
port=self.config.server_port)
@ -522,4 +522,58 @@ class Root(object):
return m
return None
#
class LibException(Exception):
""" Base of all client lib exceptions """
def __init__(self,code=None,message=None):
self.code = code
self.message = message
class ApplicationError(LibException):
""" maps to code: 1, server side: Exception or openerp.exceptions.DeferredException"""
class Warning(LibException):
""" maps to code: 2, server side: openerp.exceptions.Warning"""
class AccessError(LibException):
""" maps to code: 3, server side: openerp.exceptions.AccessError"""
class AccessDenied(LibException):
""" maps to code: 4, server side: openerp.exceptions.AccessDenied"""
class LocalConnector(openerplib.Connector):
"""
A type of connector that uses the XMLRPC protocol.
"""
PROTOCOL = 'local'
def __init__(self):
pass
def send(self, service_name, method, *args):
import openerp
import traceback
import xmlrpclib
try:
result = openerp.netsvc.dispatch_rpc(service_name, method, args)
except Exception,e:
# TODO change the except to raise LibException instead of their emulated xmlrpc fault
if isinstance(e, openerp.osv.osv.except_osv):
fault = xmlrpclib.Fault('warning -- ' + e.name + '\n\n' + e.value, '')
elif isinstance(e, openerp.exceptions.Warning):
fault = xmlrpclib.Fault('warning -- Warning\n\n' + str(e), '')
elif isinstance(e, openerp.exceptions.AccessError):
fault = xmlrpclib.Fault('warning -- AccessError\n\n' + str(e), '')
elif isinstance(e, openerp.exceptions.AccessDenied):
fault = xmlrpclib.Fault('AccessDenied', str(e))
elif isinstance(e, openerp.exceptions.DeferredException):
info = e.traceback
formatted_info = "".join(traceback.format_exception(*info))
fault = xmlrpclib.Fault(openerp.tools.ustr(e.message), formatted_info)
else:
info = sys.exc_info()
formatted_info = "".join(traceback.format_exception(*info))
fault = xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info)
raise fault
return result

View File

@ -36,52 +36,13 @@ Code repository: https://code.launchpad.net/~niv-openerp/openerp-client-lib/trun
"""
import xmlrpclib
import logging
import socket
import sys
try:
import cPickle as pickle
except ImportError:
import pickle
try:
import cStringIO as StringIO
except ImportError:
import StringIO
import logging
_logger = logging.getLogger(__name__)
def _getChildLogger(logger, subname):
return logging.getLogger(logger.name + "." + subname)
#----------------------------------------------------------
# Exceptions
# TODO openerplib should raise those instead of xmlrpc faults:
#----------------------------------------------------------
class LibException(Exception):
""" Base of all client lib exceptions """
def __init__(self,code=None,message=None):
self.code = code
self.message = message
class ApplicationError(LibException):
""" maps to code: 1, server side: Exception or openerp.exceptions.DeferredException"""
class Warning(LibException):
""" maps to code: 2, server side: openerp.exceptions.Warning"""
class AccessError(LibException):
""" maps to code: 3, server side: openerp.exceptions.AccessError"""
class AccessDenied(LibException):
""" maps to code: 4, server side: openerp.exceptions.AccessDenied"""
#----------------------------------------------------------
# Connectors
#----------------------------------------------------------
class Connector(object):
"""
The base abstract class representing a connection to an OpenERP Server.
@ -126,7 +87,6 @@ class XmlRPCConnector(Connector):
def send(self, service_name, method, *args):
url = '%s/%s' % (self.url, service_name)
service = xmlrpclib.ServerProxy(url)
# TODO should try except and wrap exception into LibException
return getattr(service, method)(*args)
class XmlRPCSConnector(XmlRPCConnector):
@ -141,145 +101,6 @@ class XmlRPCSConnector(XmlRPCConnector):
super(XmlRPCSConnector, self).__init__(hostname, port)
self.url = 'https://%s:%d/xmlrpc' % (self.hostname, self.port)
class NetRPC_Exception(Exception):
"""
Exception for NetRPC errors.
"""
def __init__(self, faultCode, faultString):
self.faultCode = faultCode
self.faultString = faultString
self.args = (faultCode, faultString)
class NetRPC(object):
"""
Low level class for NetRPC protocol.
"""
def __init__(self, sock=None):
if sock is None:
self.sock = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
else:
self.sock = sock
self.sock.settimeout(120)
def connect(self, host, port=False):
if not port:
buf = host.split('//')[1]
host, port = buf.split(':')
self.sock.connect((host, int(port)))
def disconnect(self):
self.sock.shutdown(socket.SHUT_RDWR)
self.sock.close()
def mysend(self, msg, exception=False, traceback=None):
msg = pickle.dumps([msg,traceback])
size = len(msg)
self.sock.send('%8d' % size)
self.sock.send(exception and "1" or "0")
totalsent = 0
while totalsent < size:
sent = self.sock.send(msg[totalsent:])
if sent == 0:
raise RuntimeError, "socket connection broken"
totalsent = totalsent + sent
def myreceive(self):
buf=''
while len(buf) < 8:
chunk = self.sock.recv(8 - len(buf))
if chunk == '':
raise RuntimeError, "socket connection broken"
buf += chunk
size = int(buf)
buf = self.sock.recv(1)
if buf != "0":
exception = buf
else:
exception = False
msg = ''
while len(msg) < size:
chunk = self.sock.recv(size-len(msg))
if chunk == '':
raise RuntimeError, "socket connection broken"
msg = msg + chunk
msgio = StringIO.StringIO(msg)
unpickler = pickle.Unpickler(msgio)
unpickler.find_global = None
res = unpickler.load()
if isinstance(res[0],Exception):
if exception:
raise NetRPC_Exception(str(res[0]), str(res[1]))
raise res[0]
else:
return res[0]
class NetRPCConnector(Connector):
"""
A type of connector that uses the NetRPC protocol.
"""
PROTOCOL = 'netrpc'
__logger = _getChildLogger(_logger, 'connector.netrpc')
def __init__(self, hostname, port=8070):
"""
Initialize by specifying the hostname and the port.
:param hostname: The hostname of the computer holding the instance of OpenERP.
:param port: The port used by the OpenERP instance for NetRPC (default to 8070).
"""
Connector.__init__(self, hostname, port)
def send(self, service_name, method, *args):
socket = NetRPC()
socket.connect(self.hostname, self.port)
socket.mysend((service_name, method, )+args)
result = socket.myreceive()
socket.disconnect()
return result
class LocalConnector(Connector):
"""
A type of connector that uses the XMLRPC protocol.
"""
PROTOCOL = 'local'
__logger = _getChildLogger(_logger, 'connector.local')
def __init__(self):
pass
def send(self, service_name, method, *args):
import openerp
import traceback
try:
result = openerp.netsvc.dispatch_rpc(service_name, method, args)
except Exception,e:
# TODO change the except to raise LibException instead of their emulated xmlrpc fault
if isinstance(e, openerp.osv.osv.except_osv):
fault = xmlrpclib.Fault('warning -- ' + e.name + '\n\n' + e.value, '')
elif isinstance(e, openerp.exceptions.Warning):
fault = xmlrpclib.Fault('warning -- Warning\n\n' + str(e), '')
elif isinstance(e, openerp.exceptions.AccessError):
fault = xmlrpclib.Fault('warning -- AccessError\n\n' + str(e), '')
elif isinstance(e, openerp.exceptions.AccessDenied):
fault = xmlrpclib.Fault('AccessDenied', str(e))
elif isinstance(e, openerp.exceptions.DeferredException):
info = e.traceback
formatted_info = "".join(traceback.format_exception(*info))
fault = xmlrpclib.Fault(openerp.tools.ustr(e.message), formatted_info)
else:
info = sys.exc_info()
formatted_info = "".join(traceback.format_exception(*info))
fault = xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info)
raise fault
return result
#----------------------------------------------------------
# Public api
#----------------------------------------------------------
class Service(object):
"""
A class to execute RPC calls on a specific service of the remote server.
@ -334,6 +155,7 @@ class Connection(object):
self.connector = connector
self.set_login_info(database, login, password, user_id)
self.user_context = None
def set_login_info(self, database, login, password, user_id=None):
"""
@ -369,6 +191,14 @@ class Connection(object):
if not self.user_id:
raise AuthenticationError("Authentication failure")
self.__logger.debug("Authenticated with user id %s", self.user_id)
def get_user_context(self):
"""
Query the default context of the user.
"""
if not self.user_context:
self.user_context = self.get_model('res.users').context_get()
return self.user_context
def get_model(self, model_name):
"""
@ -415,19 +245,19 @@ class Model(object):
:param method: The method for the linked model (search, read, write, unlink, create, ...)
"""
def proxy(*args):
def proxy(*args, **kw):
"""
:param args: A list of values for the method
"""
self.connection.check_login(False)
self.__logger.debug(args)
result = self.connection.get_service('object').execute(
result = self.connection.get_service('object').execute_kw(
self.connection.database,
self.connection.user_id,
self.connection.password,
self.model_name,
method,
*args)
args, kw)
if method == "read":
if isinstance(result, list) and len(result) > 0 and "id" in result[0]:
index = {}
@ -457,24 +287,20 @@ class Model(object):
def get_connector(hostname=None, protocol="xmlrpc", port="auto"):
"""
A shortcut method to easily create a connector to a remote server using XMLRPC or NetRPC.
A shortcut method to easily create a connector to a remote server using XMLRPC.
:param hostname: The hostname to the remote server.
:param protocol: The name of the protocol, must be "xmlrpc" or "netrpc".
:param protocol: The name of the protocol, must be "xmlrpc" or "xmlrpcs".
:param port: The number of the port. Defaults to auto.
"""
if port == 'auto':
port = 8069 if protocol=="xmlrpc" else (8070 if protocol == "netrpc" else 8071)
port = 8069 if protocol=="xmlrpc" else 8071
if protocol == "xmlrpc":
return XmlRPCConnector(hostname, port)
elif protocol == "xmlrpcs":
return XmlRPCSConnector(hostname, port)
elif protocol == "netrpc":
return NetRPCConnector(hostname, port)
elif protocol == "local":
return LocalConnector()
else:
raise ValueError("You must choose xmlrpc(s), netrpc or local")
raise ValueError("You must choose xmlrpc or xmlrpcs")
def get_connection(hostname=None, protocol="xmlrpc", port='auto', database=None,
login=None, password=None, user_id=None):
@ -482,7 +308,7 @@ def get_connection(hostname=None, protocol="xmlrpc", port='auto', database=None,
A shortcut method to easily create a connection to a remote OpenERP server.
:param hostname: The hostname to the remote server.
:param protocol: The name of the protocol, must be "xmlrpc" or "netrpc".
:param protocol: The name of the protocol, must be "xmlrpc" or "xmlrpcs".
:param port: The number of the port. Defaults to auto.
:param connector: A valid Connector instance to send messages to the remote server.
:param database: The name of the database to work on.

View File

@ -107,8 +107,7 @@ class OpenERPSession(object):
:returns: the new context
"""
assert self._uid, "The user needs to be logged-in to initialize his context"
self.context = self.model('res.users').context_get(self.context)
self.context = self.context or {}
self.context = self.build_connection().get_user_context() or {}
return self.context

View File

@ -89,7 +89,7 @@ html_template = """<!DOCTYPE html>
});
</script>
</head>
<body id="oe" class="openerp"></body>
<body></body>
</html>
"""
@ -197,7 +197,7 @@ class WebClient(openerpweb.Controller):
'js': js,
'css': css,
'modules': simplejson.dumps(self.server_wide_modules(req)),
'init': 'new s.web.WebClient("oe").start();',
'init': 'new s.web.WebClient().replace($("body"));',
}
return r
@ -833,17 +833,29 @@ class DataSet(openerpweb.Controller):
if has_context:
args[context_id] = c
return self._call_kw(req, model, method, args, {})
def _call_kw(self, req, model, method, args, kwargs):
for i in xrange(len(args)):
if isinstance(args[i], web.common.nonliterals.BaseContext):
args[i] = req.session.eval_context(args[i])
if isinstance(args[i], web.common.nonliterals.BaseDomain):
elif isinstance(args[i], web.common.nonliterals.BaseDomain):
args[i] = req.session.eval_domain(args[i])
for k in kwargs.keys():
if isinstance(kwargs[k], web.common.nonliterals.BaseContext):
kwargs[k] = req.session.eval_context(kwargs[k])
elif isinstance(kwargs[k], web.common.nonliterals.BaseDomain):
kwargs[k] = req.session.eval_domain(kwargs[k])
return getattr(req.session.model(model), method)(*args)
return getattr(req.session.model(model), method)(*args, **kwargs)
@openerpweb.jsonrequest
def call(self, req, model, method, args, domain_id=None, context_id=None):
return self.call_common(req, model, method, args, domain_id, context_id)
@openerpweb.jsonrequest
def call_kw(self, req, model, method, args, kwargs):
return self._call_kw(req, model, method, args, kwargs)
@openerpweb.jsonrequest
def call_button(self, req, model, method, args, domain_id=None, context_id=None):

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-12-20 18:48+0100\n"
"PO-Revision-Date: 2011-11-08 05:44+0000\n"
"Last-Translator: Ahmad Khayyat <Unknown>\n"
"PO-Revision-Date: 2012-01-08 20:20+0000\n"
"Last-Translator: kifcaliph <Unknown>\n"
"Language-Team: Arabic <ar@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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-09 05:08+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175
@ -28,15 +28,15 @@ msgstr "تم"
#: addons/web/static/src/js/chrome.js:668
msgid "About"
msgstr ""
msgstr "حول"
#: addons/web/static/src/js/chrome.js:748
msgid "Preferences"
msgstr ""
msgstr "تفضيلات"
#: addons/web/static/src/js/chrome.js:752
msgid "Change password"
msgstr ""
msgstr "تغيير كلمة المرور"
#: addons/web/static/src/js/chrome.js:753
#: addons/web/static/src/js/search.js:235
@ -57,11 +57,11 @@ msgstr "حفظ"
#: addons/web/static/src/js/chrome.js:774 addons/web/static/src/xml/base.xml:0
msgid "Change Password"
msgstr ""
msgstr "تغيير كلمة السر"
#: addons/web/static/src/js/data_export.js:6
msgid "Export Data"
msgstr ""
msgstr "تصدير البيانات"
#: addons/web/static/src/js/data_export.js:23
#: addons/web/static/src/js/data_import.js:73
@ -74,69 +74,69 @@ msgstr "إغلاق"
#: addons/web/static/src/js/data_export.js:24
msgid "Export To File"
msgstr ""
msgstr "تصدير لملف"
#: addons/web/static/src/js/data_import.js:34
msgid "Import Data"
msgstr ""
msgstr "استيراد البيانات"
#: addons/web/static/src/js/data_import.js:74
msgid "Import File"
msgstr ""
msgstr "إستيراد ملف"
#: addons/web/static/src/js/data_import.js:109
msgid "External ID"
msgstr ""
msgstr "معرف خارجي"
#: addons/web/static/src/js/search.js:233
msgid "Filter Entry"
msgstr ""
msgstr "إدخال مرشح"
#: addons/web/static/src/js/search.js:238
#: addons/web/static/src/js/search.js:279
msgid "OK"
msgstr ""
msgstr "تم"
#: addons/web/static/src/js/search.js:274 addons/web/static/src/xml/base.xml:0
msgid "Add to Dashboard"
msgstr ""
msgstr "أضف للوحة الرئيسية"
#: addons/web/static/src/js/search.js:403
msgid "Invalid Search"
msgstr ""
msgstr "بحث خاطئ"
#: addons/web/static/src/js/search.js:403
msgid "triggered from search view"
msgstr ""
msgstr "مشغلة من بحث العرض"
#: addons/web/static/src/js/search.js:490
#, python-format
msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s"
msgstr ""
msgstr "قيمة خاطئة للحقل %(fieldname)s: [%(value)s] تكون %(message)s"
#: addons/web/static/src/js/search.js:822
msgid "not a valid integer"
msgstr ""
msgstr "قيمة رقمية خاطئة"
#: addons/web/static/src/js/search.js:836
msgid "not a valid number"
msgstr ""
msgstr "قيمة رقمية خاطئة"
#: addons/web/static/src/js/search.js:898
msgid "Yes"
msgstr ""
msgstr "نعم"
#: addons/web/static/src/js/search.js:899
msgid "No"
msgstr ""
msgstr "كلا"
#: addons/web/static/src/js/search.js:1252
msgid "contains"
msgstr ""
msgstr "يحتوي"
#: addons/web/static/src/js/search.js:1253
msgid "doesn't contain"
msgstr ""
msgstr "لا يحتوي علي"
#: addons/web/static/src/js/search.js:1254
#: addons/web/static/src/js/search.js:1269
@ -144,7 +144,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1309
#: addons/web/static/src/js/search.js:1331
msgid "is equal to"
msgstr ""
msgstr "مساوٍ لـ"
#: addons/web/static/src/js/search.js:1255
#: addons/web/static/src/js/search.js:1270
@ -152,7 +152,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1310
#: addons/web/static/src/js/search.js:1332
msgid "is not equal to"
msgstr ""
msgstr "ليس مساويًا لـ"
#: addons/web/static/src/js/search.js:1256
#: addons/web/static/src/js/search.js:1271
@ -160,7 +160,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1311
#: addons/web/static/src/js/search.js:1333
msgid "greater than"
msgstr ""
msgstr "أكبر من"
#: addons/web/static/src/js/search.js:1257
#: addons/web/static/src/js/search.js:1272
@ -168,7 +168,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1312
#: addons/web/static/src/js/search.js:1334
msgid "less than"
msgstr ""
msgstr "أقل من"
#: addons/web/static/src/js/search.js:1258
#: addons/web/static/src/js/search.js:1273
@ -176,7 +176,7 @@ msgstr ""
#: addons/web/static/src/js/search.js:1313
#: addons/web/static/src/js/search.js:1335
msgid "greater or equal than"
msgstr ""
msgstr "أكبر أو مساو لـ"
#: addons/web/static/src/js/search.js:1259
#: addons/web/static/src/js/search.js:1274
@ -184,28 +184,28 @@ msgstr ""
#: addons/web/static/src/js/search.js:1314
#: addons/web/static/src/js/search.js:1336
msgid "less or equal than"
msgstr ""
msgstr "أقل أو مساو لـ"
#: addons/web/static/src/js/search.js:1325
#: addons/web/static/src/js/search.js:1350
msgid "is"
msgstr ""
msgstr "يكون"
#: addons/web/static/src/js/search.js:1351
msgid "is not"
msgstr ""
msgstr "ليس"
#: addons/web/static/src/js/search.js:1364
msgid "is true"
msgstr ""
msgstr "يكون صواب"
#: addons/web/static/src/js/search.js:1365
msgid "is false"
msgstr ""
msgstr "يكون خاطئ"
#: addons/web/static/src/js/view_editor.js:42
msgid "ViewEditor"
msgstr ""
msgstr "عرض المحرر"
#: addons/web/static/src/js/view_editor.js:46
#: addons/web/static/src/js/view_list.js:17
@ -216,7 +216,7 @@ msgstr "إنشاء"
#: addons/web/static/src/js/view_editor.js:47
#: addons/web/static/src/xml/base.xml:0
msgid "Edit"
msgstr ""
msgstr "تحرير"
#: addons/web/static/src/js/view_editor.js:48
#: addons/web/static/src/xml/base.xml:0
@ -226,38 +226,38 @@ msgstr "إزالة"
#: addons/web/static/src/js/view_editor.js:71
#, python-format
msgid "Create a view (%s)"
msgstr ""
msgstr "إنشاء عرض (%s)"
#: addons/web/static/src/js/view_editor.js:170
msgid "Do you really want to remove this view?"
msgstr ""
msgstr "هل تريد إزالة هذا العرض ؟"
#: addons/web/static/src/js/view_editor.js:367
#, python-format
msgid "View Editor %d - %s"
msgstr ""
msgstr "عرض المحرر %d - %s"
#: addons/web/static/src/js/view_editor.js:371
msgid "Preview"
msgstr ""
msgstr "معاينة"
#: addons/web/static/src/js/view_editor.js:442
msgid "Do you really want to remove this node?"
msgstr ""
msgstr "هل تريد إزالة هذا الطرف؟"
#: addons/web/static/src/js/view_editor.js:756
#: addons/web/static/src/js/view_editor.js:883
msgid "Properties"
msgstr ""
msgstr "خصائص"
#: addons/web/static/src/js/view_editor.js:760
#: addons/web/static/src/js/view_editor.js:887
msgid "Update"
msgstr ""
msgstr "تحديث"
#: addons/web/static/src/js/view_form.js:17
msgid "Form"
msgstr ""
msgstr "نموذج"
#: addons/web/static/src/js/view_form.js:401
msgid ""
@ -266,16 +266,16 @@ msgstr "تحذير، تم تحرير السجل، تعديلاتك سيتم تج
#: addons/web/static/src/js/view_form.js:612
msgid "Attachments"
msgstr ""
msgstr "مرفقات"
#: addons/web/static/src/js/view_form.js:650
#, python-format
msgid "Do you really want to delete the attachment %s?"
msgstr ""
msgstr "هل تريد حذف هذا المرفق %s ؟"
#: addons/web/static/src/js/view_form.js:1075
msgid "Confirm"
msgstr ""
msgstr "تأكيد"
#: addons/web/static/src/js/view_form.js:1838
msgid "<em>   Search More...</em>"
@ -297,72 +297,72 @@ msgstr "اضافة"
#: addons/web/static/src/js/view_list.js:8
msgid "List"
msgstr ""
msgstr "قائمة"
#: addons/web/static/src/js/view_list.js:269
msgid "Unlimited"
msgstr ""
msgstr "غير محدود"
#: addons/web/static/src/js/view_list.js:516
msgid "Do you really want to remove these records?"
msgstr ""
msgstr "هل تريد إزالة هذه السجلات ؟"
#: addons/web/static/src/js/view_list.js:1202
msgid "Undefined"
msgstr ""
msgstr "غير محدد"
#: addons/web/static/src/js/view_page.js:8
msgid "Page"
msgstr ""
msgstr "صفحة"
#: addons/web/static/src/js/view_page.js:52
msgid "Do you really want to delete this record?"
msgstr ""
msgstr "هل تريد حذف هذا السجل؟"
#: addons/web/static/src/js/view_page.js:227
msgid "Download"
msgstr ""
msgstr "تحميل"
#: addons/web/static/src/js/view_tree.js:11
msgid "Tree"
msgstr ""
msgstr "شجرة"
#: addons/web/static/src/js/views.js:590
msgid "Search: "
msgstr ""
msgstr "بحث: "
#: addons/web/static/src/js/views.js:710
msgid "Customize"
msgstr ""
msgstr "تخصيص"
#: addons/web/static/src/js/views.js:713
msgid "Manage Views"
msgstr ""
msgstr "إدارة العروض"
#: addons/web/static/src/js/views.js:715 addons/web/static/src/js/views.js:719
#: addons/web/static/src/js/views.js:724
msgid "Manage views of the current object"
msgstr ""
msgstr "ترتيب عروض الكائن الحالي"
#: addons/web/static/src/js/views.js:717
msgid "Edit Workflow"
msgstr ""
msgstr "حرر مسار العمل"
#: addons/web/static/src/js/views.js:722
msgid "Customize Object"
msgstr ""
msgstr "تعديل هيئة الكائن"
#: addons/web/static/src/js/views.js:726
msgid "Translate"
msgstr ""
msgstr "ترجم"
#: addons/web/static/src/js/views.js:728
msgid "Technical translation"
msgstr ""
msgstr "ترجمة تقنية"
#: addons/web/static/src/js/views.js:733
msgid "Other Options"
msgstr ""
msgstr "خيارات أخرى"
#: addons/web/static/src/js/views.js:736 addons/web/static/src/xml/base.xml:0
msgid "Import"
@ -374,19 +374,19 @@ msgstr "تصدير"
#: addons/web/static/src/js/views.js:742
msgid "View Log"
msgstr ""
msgstr "عرض السجل"
#: addons/web/static/src/js/views.js:751
msgid "Reports"
msgstr ""
msgstr "تقارير"
#: addons/web/static/src/js/views.js:751
msgid "Actions"
msgstr ""
msgstr "إجراءات"
#: addons/web/static/src/js/views.js:751
msgid "Links"
msgstr ""
msgstr "روابط"
#: addons/web/static/src/js/views.js:831
msgid "You must choose at least one record."
@ -611,31 +611,31 @@ msgstr "تعطيل جميع الإرشادات"
#: addons/web/static/src/xml/base.xml:0
msgid "More…"
msgstr ""
msgstr "أكثر..."
#: addons/web/static/src/xml/base.xml:0
msgid "Debug View#"
msgstr ""
msgstr "تنقيح العرض#"
#: addons/web/static/src/xml/base.xml:0
msgid "- Fields View Get"
msgstr ""
msgstr "- أخذ حقول العرض"
#: addons/web/static/src/xml/base.xml:0
msgid "- Edit"
msgstr ""
msgstr "- تحرير"
#: addons/web/static/src/xml/base.xml:0
msgid "View"
msgstr ""
msgstr "عرض"
#: addons/web/static/src/xml/base.xml:0
msgid "- Edit SearchView"
msgstr ""
msgstr "- تحرير بحث العرض"
#: addons/web/static/src/xml/base.xml:0
msgid "- Edit Action"
msgstr ""
msgstr "- تحرير الإجراء"
#: addons/web/static/src/xml/base.xml:0
msgid "Field"
@ -667,15 +667,15 @@ msgstr "أداة غير معالجة"
#: addons/web/static/src/xml/base.xml:0
msgid "Notebook Page \""
msgstr ""
msgstr "صفحة دفتر الملاحظات \""
#: addons/web/static/src/xml/base.xml:0
msgid "\""
msgstr ""
msgstr "\""
#: addons/web/static/src/xml/base.xml:0
msgid "Modifiers:"
msgstr ""
msgstr "معدل:"
#: addons/web/static/src/xml/base.xml:0
msgid "?"
@ -683,59 +683,59 @@ msgstr "؟"
#: addons/web/static/src/xml/base.xml:0
msgid "(nolabel)"
msgstr ""
msgstr "(لا اسم)"
#: addons/web/static/src/xml/base.xml:0
msgid "Field:"
msgstr ""
msgstr "حقل:"
#: addons/web/static/src/xml/base.xml:0
msgid "Object:"
msgstr ""
msgstr "كائن:"
#: addons/web/static/src/xml/base.xml:0
msgid "Type:"
msgstr ""
msgstr "نوع:"
#: addons/web/static/src/xml/base.xml:0
msgid "Widget:"
msgstr ""
msgstr "ودجة:"
#: addons/web/static/src/xml/base.xml:0
msgid "Size:"
msgstr ""
msgstr "حجم:"
#: addons/web/static/src/xml/base.xml:0
msgid "Context:"
msgstr ""
msgstr "سياق:"
#: addons/web/static/src/xml/base.xml:0
msgid "Domain:"
msgstr ""
msgstr "نطاق:"
#: addons/web/static/src/xml/base.xml:0
msgid "On change:"
msgstr ""
msgstr "حين التغيير:"
#: addons/web/static/src/xml/base.xml:0
msgid "Relation:"
msgstr ""
msgstr "علاقة:"
#: addons/web/static/src/xml/base.xml:0
msgid "Selection:"
msgstr ""
msgstr "خيار:"
#: addons/web/static/src/xml/base.xml:0
msgid "["
msgstr ""
msgstr "]"
#: addons/web/static/src/xml/base.xml:0
msgid "]"
msgstr ""
msgstr "["
#: addons/web/static/src/xml/base.xml:0
msgid "-"
msgstr ""
msgstr "-"
#: addons/web/static/src/xml/base.xml:0
msgid "#"
@ -775,31 +775,31 @@ msgstr "إفراغ"
#: addons/web/static/src/xml/base.xml:0
msgid "Button"
msgstr ""
msgstr "زر"
#: addons/web/static/src/xml/base.xml:0
msgid "(no string)"
msgstr ""
msgstr "(لا كلام)"
#: addons/web/static/src/xml/base.xml:0
msgid "Special:"
msgstr ""
msgstr "خاص:"
#: addons/web/static/src/xml/base.xml:0
msgid "Button Type:"
msgstr ""
msgstr "نوع الزر:"
#: addons/web/static/src/xml/base.xml:0
msgid "Method:"
msgstr ""
msgstr "طريقة:"
#: addons/web/static/src/xml/base.xml:0
msgid "Action ID:"
msgstr ""
msgstr "معرف الإجراء"
#: addons/web/static/src/xml/base.xml:0
msgid "Search"
msgstr ""
msgstr "بحث"
#: addons/web/static/src/xml/base.xml:0
msgid "Advanced Filter"
@ -823,15 +823,15 @@ msgstr "(لاحظ أن أي مرشح بنفس الاسم سيتم إستبدال
#: addons/web/static/src/xml/base.xml:0
msgid "Select Dashboard to add this filter to:"
msgstr ""
msgstr "اختر اللوحة لإضافة هذا المرشح لها:"
#: addons/web/static/src/xml/base.xml:0
msgid "Title of new Dashboard item:"
msgstr ""
msgstr "اسم العنصرالجديد في اللوحة:"
#: addons/web/static/src/xml/base.xml:0
msgid "Advanced Filters"
msgstr ""
msgstr "مرشحات متقدمة"
#: addons/web/static/src/xml/base.xml:0
msgid "Any of the following conditions must match"

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-27 05:01+0000\n"
"X-Generator: Launchpad (build 14560)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-22 05:32+0000\n"
"X-Generator: Launchpad (build 14560)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-25 04:57+0000\n"
"X-Generator: Launchpad (build 14560)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

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: 2011-12-21 05:27+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

1067
addons/web/po/tr.po Normal file

File diff suppressed because it is too large Load Diff

1050
addons/web/po/zh_CN.po Normal file

File diff suppressed because it is too large Load Diff

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web/static/src/js/chrome.js:162
#: addons/web/static/src/js/chrome.js:175

View File

@ -39,7 +39,7 @@ body.openerp, .openerp textarea, .openerp input, .openerp select, .openerp optio
text-align: right !important;
}
.oe-listview-header-columns {
background: #444; /* Old browsers */
background: #d1d1d1; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #d1d1d1 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#d1d1d1)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 0%,#d1d1d1 100%); /* Chrome10+,Safari5.1+ */
@ -88,47 +88,165 @@ body.openerp, .openerp textarea, .openerp input, .openerp select, .openerp optio
color: white;
}
/* Login */
/* Login page */
.login {
padding: 0;
margin: 0;
font-family: "Lucida Grande", Helvetica, Verdana, Arial;
background: url("/web/static/src/img/pattern.png") repeat;
color: #eee;
font-size: 14px;
height: 100%;
}
.login ul, ol {
padding: 0;
margin: 0;
}
.login li {
list-style-type: none;
padding-bottom: 4px;
}
.login a {
color: #eee;
text-decoration: none;
}
.login button {
float: right;
display: inline-block;
cursor: pointer;
padding: 6px 16px;
font-size: 13px;
font-family: "Lucida Grande", Helvetica, Verdana, Arial;
border: 1px solid #222222;
color: white;
margin: 0;
background: #600606;
background: -moz-linear-gradient(#b92020, #600606);
background: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
background: -ms-linear-gradient(top, #b92020, #600606);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b92020', endColorstr='#600606',GradientType=0 );
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(155, 155, 155, 0.4) inset;
-o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
}
.login input, .login select {
width: 252px;
font-size: 14px;
font-family: "Lucida Grande", Helvetica, Verdana, Arial;
border: 1px solid #999999;
background: whitesmoke;
-moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.login input {
margin-bottom: 9px;
padding: 5px 6px;
}
.login select {
padding: 1px;
}
.login .dbpane {
position: fixed;
top: 0;
right: 8px;
padding: 5px 10px;
color: #eee;
border: solid 1px #333;
background: rgba(30,30,30,0.94);
-moz-border-radius: 0 0 8px 8px;
-webkit-border-radius: 0 0 8px 8px;
border-radius: 0 0 8px 8px;
}
.login .bottom {
position: absolute;
top: 50%;
left: 0;
right: 0;
bottom: 0;
text-shadow: 0 1px 1px #999999;
background: #600606;
background: -moz-linear-gradient(#b41616, #600606);
background: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
background: -ms-linear-gradient(top, #b41616, #600606);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b41616', endColorstr='#600606',GradientType=0 );
}
.login .pane {
position: absolute;
top: 50%;
left: 50%;
margin: -160px -166px;
border: solid 1px #333333;
background: rgba(30,30,30,0.94);
padding: 22px 32px;
text-align: left;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
-moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
-webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
}
.login .pane h2 {
margin-top: 0;
font-size: 18px;
}
.login #logo {
position: absolute;
top: -70px;
left: 0;
width: 100%;
margin: 0 auto;
text-align: center;
}
.login .footer {
position: absolute;
bottom: -40px;
left: 0;
width: 100%;
text-align: center;
}
.login .footer a {
font-size: 13px;
margin: 0 8px;
}
.login .footer a:hover {
text-decoration: underline;
}
.login .openerp {
font-weight: bold;
font-family: serif;
font-size: 16px;
}
.openerp .login {
display: none;
}
.openerp .login fieldset {
padding-bottom: 5px;
min-width: 100px;
margin-top: 60px;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
.openerp .login fieldset legend {
padding: 4px;
}
.openerp .login .oe_box2 {
padding: 5px 5px 20px 5px;
}
.openerp .login .oe_box2 table {
width: 100%;
border:none;
}
.openerp .login .oe_box2 td {
padding: 3px;
text-align: right;
}
.openerp .login .oe_box2 td input,
.openerp .login .oe_box2 td select {
width: 100%;
}
.openerp .login .oe_box2 td.oe_remember {
text-align:left;
}
.openerp .login .oe_box2 td.oe_remember input {
width: inherit;
}
.openerp .login .oe_login_right_pane {
padding:70px 35px 5px 10px;
min-width: 200px;
margin-left: 500px;
text-align: center;
}
.openerp .login .login_error_message {
display: none;
background-color: #b41616;
@ -144,45 +262,44 @@ body.openerp, .openerp textarea, .openerp input, .openerp select, .openerp optio
margin-top: 15px;
text-align: center;
}
.openerp .login .login_invalid {
text-align: center;
}
.openerp .login .login_invalid .login_error_message {
.openerp .login.login_invalid .login_error_message {
display: inline-block;
}
.openerp.login-mode .login-container {
height: 100%;
}
.openerp.login-mode .login {
display: block;
}
.openerp.login-mode .menu,
.openerp.login-mode .secondary_menu,
.openerp.login-mode .oe-application,
.openerp.login-mode .oe_footer,
.openerp.login-mode .header,
.openerp.login-mode .db_options_row {
display: none;
}
/* Database */
.openerp.database_block .db_options_row {
.login .oe-database-manager {
display: none;
height: 100%;
display: table-row;
width: 100%;
background-color: white;
}
.openerp.database_block .menu,
.openerp.database_block .secondary_menu,
.openerp.database_block .oe-application,
.openerp.database_block .login-container {
.login.database_block .bottom,
.login.database_block .login_error_message,
.login.database_block .pane {
display: none;
}
.login.database_block .oe-database-manager {
display: block;
}
.db_container {
width: 196px;
.login .database {
float: left;
width: 202px;
height: 100%;
background: #666666;
}
.login .oe_db_options {
margin-left: 202px;
color: black;
padding-top: 20px;
}
.login .database ul {
margin-top: 65px;
}
ul.db_options li {
padding: 5px 0 10px 5px;
@ -205,7 +322,7 @@ ul.db_options li {
margin: 1px;
color: #EEEEEE;
cursor: pointer;
width: 196px;
width: 195px;
font-size: 12px;
}
@ -2030,6 +2147,8 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after {
background: none, -moz-linear-gradient(#efefef, #d8d8d8);
background: none, -o-linear-gradient(top, #efefef, #d8d8d8);
background: none, -khtml-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8));
background: -ms-linear-gradient(top, #efefef, #d8d8d8);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#efefef', endColorstr='#d8d8d8',GradientType=0 );
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-o-border-radius: 3px;
@ -2055,6 +2174,8 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after {
background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3);
background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3);
background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
background: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#e3e3e3',GradientType=0 );
cursor: pointer;
}
@ -2070,6 +2191,8 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after {
background: none, -moz-linear-gradient(#f6f6f6, #e3e3e3);
background: none, -o-linear-gradient(top, #f6f6f6, #e3e3e3);
background: none, -khtml-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
background: -ms-linear-gradient(top, #f6f6f6, #e3e3e3);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#e3e3e3',GradientType=0 );
-moz-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
-webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
-o-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
@ -2082,6 +2205,8 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after {
background: -moz-linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f;
background: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6)) #1b468f;
background: linear-gradient(top, #e3e3e3, #f6f6f6) #1b468f;
background: -ms-linear-gradient(top, #e3e3e3, #f6f6f6);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e3e3e3', endColorstr='#f6f6f6',GradientType=0 );
-moz-box-shadow: none, 0 0 0 transparent;
-webkit-box-shadow: none, 0 0 0 transparent;
-o-box-shadow: none, 0 0 0 transparent;
@ -2103,153 +2228,19 @@ ul.oe-arrow-list li.oe-arrow-list-selected .oe-arrow-list-after {
text-shadow: 0 1px 1px white !important;
}
/* Login page */
.login {
padding: 0;
margin: 0;
font-family: "Lucida Grande", Helvetica, Verdana, Arial;
background: url("/web/static/src/img/pattern.png") repeat;
color: #eee;
font-size: 14px;
height: 100%;
.openerp select.oe_search-view-filters-management {
font-style: oblique;
color: #999999;
}
.login ul, ol {
padding: 0;
margin: 0;
.openerp .oe_search-view-filters-management option,
.openerp .oe_search-view-filters-management optgroup {
font-style: normal;
color: black;
}
.login li {
list-style-type: none;
padding-bottom: 4px;
}
.login a {
color: #eee;
text-decoration: none;
}
.login button {
float: right;
display: inline-block;
cursor: pointer;
padding: 6px 16px;
font-size: 13px;
font-family: "Lucida Grande", Helvetica, Verdana, Arial;
border: 1px solid #222222;
color: white;
margin: 0;
background: #600606;
background: -moz-linear-gradient(#b92020, #600606);
background: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606));
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(155, 155, 155, 0.4) inset;
-o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset;
}
.login input, #oe_login select {
width: 252px;
font-size: 14px;
font-family: "Lucida Grande", Helvetica, Verdana, Arial;
border: 1px solid #999999;
background: whitesmoke;
-moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.3);
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.login input {
margin-bottom: 9px;
padding: 5px 6px;
}
#oe_login select {
padding: 1px;
}
.login .dbpane {
position: fixed;
top: 0;
right: 8px;
padding: 5px 10px;
color: #eee;
border: solid 1px #333;
background: rgba(30,30,30,0.94);
-moz-border-radius: 0 0 8px 8px;
-webkit-border-radius: 0 0 8px 8px;
border-radius: 0 0 8px 8px;
}
.login .bottom {
position: absolute;
top: 50%;
left: 0;
right: 0;
bottom: 0;
text-shadow: 0 1px 1px #999999;
background: #600606;
background: -moz-linear-gradient(#b41616, #600606);
background: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606));
}
.login .pane {
position: absolute;
top: 50%;
left: 50%;
margin: -160px -166px;
border: solid 1px #333333;
background: rgba(30,30,30,0.94);
padding: 22px 32px;
text-align: left;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
-moz-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
-webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
}
.login .pane h2 {
margin-top: 0;
font-size: 18px;
}
.login #logo {
position: absolute;
top: -70px;
left: 0;
width: 100%;
margin: 0 auto;
text-align: center;
}
.login .footer {
position: absolute;
bottom: -40px;
left: 0;
width: 100%;
text-align: center;
}
.login .footer a {
font-size: 13px;
margin: 0 8px;
}
.login .footer a:hover {
text-decoration: underline;
}
.login .openerp {
font-weight: bold;
font-family: serif;
font-size: 16px;
/* Internet Explorer Fix */
a img {
border: none;
}

View File

@ -226,8 +226,21 @@ openerp.web.Loading = openerp.web.Widget.extend(/** @lends openerp.web.Loading#
this._super(parent);
this.count = 0;
this.blocked_ui = false;
this.session.on_rpc_request.add_first(this.on_rpc_event, 1);
this.session.on_rpc_response.add_last(this.on_rpc_event, -1);
var self = this;
this.request_call = function() {
self.on_rpc_event(1);
};
this.response_call = function() {
self.on_rpc_event(-1);
};
this.session.on_rpc_request.add_first(this.request_call);
this.session.on_rpc_response.add_last(this.response_call);
},
stop: function() {
this.session.on_rpc_request.remove(this.request_call);
this.session.on_rpc_response.remove(this.response_call);
this.on_rpc_event(-this.count);
this._super();
},
on_rpc_event : function(increment) {
var self = this;
@ -242,8 +255,8 @@ openerp.web.Loading = openerp.web.Widget.extend(/** @lends openerp.web.Loading#
this.count += increment;
if (this.count > 0) {
//this.$element.html(QWeb.render("Loading", {}));
this.$element.html("Loading ("+this.count+")");
this.$element.show();
$(".loading",this.$element).html("Loading ("+this.count+")");
$(".loading",this.$element).show();
this.widget_parent.$element.addClass('loading');
} else {
this.count = 0;
@ -253,13 +266,14 @@ openerp.web.Loading = openerp.web.Widget.extend(/** @lends openerp.web.Loading#
this.blocked_ui = false;
$.unblockUI();
}
this.$element.fadeOut();
$(".loading",this.$element).fadeOut();
this.widget_parent.$element.removeClass('loading');
}
}
});
openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database# */{
template: "DatabaseManager",
/**
* @constructs openerp.web.Database
* @extends openerp.web.Widget
@ -270,12 +284,10 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
*/
init: function(parent, element_id, option_id) {
this._super(parent, element_id);
this.$option_id = $('#' + option_id);
this.unblockUIFunction = $.unblockUI;
},
start: function() {
this._super();
this.$element.html(QWeb.render("Database", this));
this.$option_id = $("#oe_db_options");
var self = this;
var fetch_db = this.rpc("/web/database/get_list", {}, function(result) {
@ -311,13 +323,11 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
this._super();
},
show: function () {
this.$element.closest(".openerp")
.removeClass("login-mode")
this.$element.closest(".login")
.addClass("database_block");
},
hide: function () {
this.$element.closest(".openerp")
.addClass("login-mode")
this.$element.closest(".login")
.removeClass("database_block")
},
/**
@ -569,9 +579,8 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
},
start: function() {
var self = this;
this.database = new openerp.web.Database(
this, "oe_database", "oe_db_options");
this.database.start();
this.database = new openerp.web.Database(this);
this.database.appendTo(this.$element);
this.$element.find('#oe-db-config').click(function() {
self.database.show();
@ -589,21 +598,11 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
});
},
stop: function () {
this.database.stop();
this._super();
},
set_db_list: function (list) {
this.$element.find("[name=db]").replaceWith(
openerp.web.qweb.render('Login_dblist', {
db_list: list, selected_db: this.selected_db}))
},
on_login_invalid: function() {
this.$element.closest(".openerp").addClass("login-mode");
},
on_login_valid: function() {
this.$element.closest(".openerp").removeClass("login-mode");
},
on_submit: function(ev) {
if(ev) {
ev.preventDefault();
@ -627,7 +626,6 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
this.session.on_session_invalid.add({
callback: function () {
self.$element.addClass("login_invalid");
self.on_login_invalid();
},
unique: true
});
@ -646,19 +644,8 @@ openerp.web.Login = openerp.web.Widget.extend(/** @lends openerp.web.Login# */{
localStorage.setItem('last_password_login_success', '');
}
}
self.on_login_valid();
});
},
do_ask_login: function(continuation) {
this.on_login_invalid();
this.$element
.removeClass("login_invalid");
this.on_login_valid.add({
position: "last",
unique: true,
callback: continuation || function() {}
});
}
});
openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# */{
@ -819,7 +806,7 @@ openerp.web.Header = openerp.web.Widget.extend(/** @lends openerp.web.Header# *
self.display_error(result);
return;
} else {
self.session.logout();
openerp.webclient.on_logout();
}
});
}
@ -1060,50 +1047,34 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
*
* @param element_id
*/
init: function(element_id) {
init: function(parent) {
var self = this;
this._super(null, element_id);
this._super(parent);
openerp.webclient = this;
this.notification = new openerp.web.Notification(this);
this.loading = new openerp.web.Loading(this);
this.crashmanager = new openerp.web.CrashManager();
this.header = new openerp.web.Header(this);
this.login = new openerp.web.Login(this);
this.header.on_logout.add(this.on_logout);
this.header.on_action.add(this.on_menu_action);
this._current_state = null;
},
render_element: function() {
this.$element = $('<body/>');
this.$element.attr("id", "oe");
this.$element.addClass("openerp");
},
start: function() {
this._super.apply(this, arguments);
var self = this;
if (jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) {
this.$element.addClass("kitten-mode-activated");
this.$element.delegate('img.oe-record-edit-link-img', 'hover', function(e) {
self.$element.toggleClass('clark-gable');
});
}
this.session.bind().then(function() {
var params = {};
if (jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) {
this.$element.addClass("kitten-mode-activated");
this.$element.delegate('img.oe-record-edit-link-img', 'hover', function(e) {
self.$element.toggleClass('clark-gable');
});
}
self.$element.html(QWeb.render("Interface", params));
self.menu = new openerp.web.Menu(self, "oe_menu", "oe_secondary_menu");
self.menu.on_action.add(self.on_menu_action);
self.notification.prependTo(self.$element);
self.loading.appendTo($('#oe_loading'));
self.header.appendTo($("#oe_header"));
self.login.appendTo($('#oe_login'));
self.menu.start();
if(self.session.session_is_valid()) {
self.login.on_login_valid();
} else {
self.login.on_login_invalid();
if (!self.session.session_is_valid()) {
self.show_login();
}
});
this.session.ready.then(function() {
self.login.on_login_valid();
this.session.on_session_valid.add(function() {
self.show_application();
self.header.do_update();
self.menu.do_reload();
if(self.action_manager)
@ -1113,10 +1084,45 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
self.bind_hashchange();
if (!self.session.openerp_entreprise) {
self.$element.find('.oe_footer_powered').append('<span> - <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">Unsupported/Community Version</a></span>');
$('title').html('OpenERP - Usupported/Community Version');
$('title').html('OpenERP - Unsupported/Community Version');
}
});
},
show_login: function() {
var self = this;
this.destroy_content();
this.show_common();
self.login = new openerp.web.Login(self);
self.login.appendTo(self.$element);
},
show_application: function() {
var self = this;
this.destroy_content();
this.show_common();
self.$table = $(QWeb.render("Interface", {}));
self.$element.append(self.$table);
self.header = new openerp.web.Header(self);
self.header.on_logout.add(self.on_logout);
self.header.on_action.add(self.on_menu_action);
self.header.appendTo($("#oe_header"));
self.menu = new openerp.web.Menu(self, "oe_menu", "oe_secondary_menu");
self.menu.on_action.add(self.on_menu_action);
self.menu.start();
},
show_common: function() {
var self = this;
self.crashmanager = new openerp.web.CrashManager();
self.notification = new openerp.web.Notification(self);
self.notification.appendTo(self.$element);
self.loading = new openerp.web.Loading(self);
self.loading.appendTo(self.$element);
},
destroy_content: function() {
_.each(_.clone(this.widget_children), function(el) {
el.stop();
});
this.$element.children().remove();
},
do_reload: function() {
return this.session.session_init().pipe(_.bind(function() {this.menu.do_reload();}, this));
},
@ -1130,13 +1136,11 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
},
on_logout: function() {
this.session.session_logout();
this.login.on_login_invalid();
this.header.do_update();
$(window).unbind('hashchange', this.on_hashchange);
this.do_push_state({});
if(this.action_manager)
this.action_manager.stop();
this.action_manager = null;
//would be cool to be able to do this, but I think it will make addons do strange things
//this.show_login();
window.location.reload();
},
bind_hashchange: function() {
$(window).bind('hashchange', this.on_hashchange);

View File

@ -160,6 +160,12 @@ openerp.web.callback = function(obj, method) {
position: "last"
});
};
callback.remove = function(f) {
callback.callback_chain = _.difference(callback.callback_chain, _.filter(callback.callback_chain, function(el) {
return el.callback === f;
}));
return callback;
};
return callback.add({
callback: method,
@ -379,7 +385,6 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
this.context = {};
this.shortcuts = [];
this.active_id = null;
this.ready = $.Deferred();
return this.session_init();
},
/**
@ -567,7 +572,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
/**
* The session is validated either by login or by restoration of a previous session
*/
session_authenticate: function(db, login, password, volatile) {
session_authenticate: function(db, login, password, _volatile) {
var self = this;
var base_location = document.location.protocol + '//' + document.location.host;
var params = { db: db, login: login, password: password, base_location: base_location };
@ -580,7 +585,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
user_context: result.context,
openerp_entreprise: result.openerp_entreprise
});
if (!volatile) {
if (!_volatile) {
self.set_cookie('session_id', self.session_id);
}
return self.load_modules();
@ -588,7 +593,8 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
},
session_logout: function() {
this.set_cookie('session_id', '');
window.location.reload();
},
on_session_valid: function() {
},
/**
* Called when a rpc call fail due to an invalid session.
@ -653,7 +659,7 @@ openerp.web.Connection = openerp.web.CallbackEnabled.extend( /** @lends openerp.
});
})
).then(function() {
self.ready.resolve();
self.on_session_valid();
});
});
},

View File

@ -688,9 +688,7 @@ openerp.web.BufferedDataSet = openerp.web.DataSetStatic.extend({
this.cache = _.reject(this.cache, function(x) { return _.include(ids, x.id);});
this.set_ids(_.without.apply(_, [this.ids].concat(ids)));
this.on_change();
var to_return = $.Deferred().then(callback);
$.async_when().then(function () {to_return.resolve({result: true});});
return to_return.promise();
return $.async_when({result: true}).then(callback);
},
reset_ids: function(ids) {
this.set_ids(ids);
@ -787,9 +785,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
return this.create_function(data, callback, error_callback);
} else {
console.warn("trying to create a record using default proxy dataset behavior");
var to_return = $.Deferred().then(callback);
$.async_when().then(function () {to_return.resolve({"result": undefined});});
return to_return.promise();
return $.async_when({"result": undefined}).then(callback);
}
},
on_create: function(data) {},
@ -799,18 +795,14 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
return this.write_function(id, data, options, callback);
} else {
console.warn("trying to write a record using default proxy dataset behavior");
var to_return = $.Deferred().then(callback);
$.async_when().then(function () {to_return.resolve({"result": true});});
return to_return.promise();
return $.async_when({"result": true}).then(callback);
}
},
on_write: function(id, data) {},
unlink: function(ids, callback, error_callback) {
this.on_unlink(ids);
console.warn("trying to unlink a record using default proxy dataset behavior");
var to_return = $.Deferred().then(callback);
$.async_when().then(function () {to_return.resolve({"result": true});});
return to_return.promise();
return $.async_when({"result": true}).then(callback);
},
on_unlink: function(ids) {}
});
@ -824,43 +816,23 @@ openerp.web.Model = openerp.web.CallbackEnabled.extend({
var c = openerp.connection;
return c.rpc.apply(c, arguments);
},
/*
* deprecated because it does not allow to specify kwargs, directly use call() instead
*/
get_func: function(method_name) {
var self = this;
return function() {
if (method_name == "search_read")
return self._search_read.apply(self, arguments);
return self._call(method_name, _.toArray(arguments));
return self.call(method_name, _.toArray(arguments), {});
};
},
_call: function (method, args) {
return this.rpc('/web/dataset/call', {
call: function (method, args, kwargs) {
return this.rpc('/web/dataset/call_kw', {
model: this.model_name,
method: method,
args: args
}).pipe(function(result) {
if (method == "read" && result instanceof Array && result.length > 0 && result[0]["id"]) {
var index = {};
_.each(_.range(result.length), function(i) {
index[result[i]["id"]] = result[i];
});
result = _.map(args[0], function(x) {return index[x];});
}
return result;
args: args,
kwargs: kwargs,
});
},
_search_read: function(domain, fields, offset, limit, order, context) {
return this.rpc('/web/dataset/search_read', {
model: this.model_name,
fields: fields,
offset: offset,
limit: limit,
domain: domain,
sort: order,
context: context
}).pipe(function(result) {
return result.records;
});
}
});
openerp.web.CompoundContext = openerp.web.Class.extend({

View File

@ -226,6 +226,8 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
_.each(data.domains, function(x) {
domain.add(x);
});
var groupbys = _.pluck(data.groupbys, "group_by").join();
context.add({"group_by": groupbys});
var dial_html = QWeb.render("SearchView.managed-filters.add");
var $dial = $(dial_html);
$dial.dialog({
@ -255,7 +257,12 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
val = val.slice(4);
val = parseInt(val, 10);
var filter = this.managed_filters[val];
this.on_search([filter.domain], [filter.context], []);
this.do_clear().then(_.bind(function() {
var groupbys = _.map(filter.context.group_by.split(","), function(el) {
return {"group_by": el};
});
this.on_search([filter.domain], [filter.context], groupbys);
}, this));
} else {
select.val('');
}
@ -417,7 +424,7 @@ openerp.web.SearchView = openerp.web.Widget.extend(/** @lends openerp.web.Search
input.datewidget.set_value(false);
}
});
setTimeout(this.on_clear, 0);
return $.async_when().pipe(this.on_clear);
},
/**
* Triggered when the search view gets cleared

View File

@ -135,21 +135,24 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
},
do_show: function () {
var self = this,
deferred = $.Deferred().resolve();
this.has_been_loaded.then(function() {
var self = this;
this.$element.hide();
return this.has_been_loaded.pipe(function() {
var result;
if (self.dataset.index === null) {
// null index means we should start a new record
deferred.pipe(self.on_button_new());
result = self.on_button_new();
} else {
deferred.pipe(self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_record_loaded));
result = self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_record_loaded);
}
self.$element.show();
result.pipe(function() {
self.$element.show();
});
if (self.sidebar) {
self.sidebar.$element.show();
}
return result;
});
return deferred;
},
do_hide: function () {
this._super();
@ -172,7 +175,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
field.validate();
});
});
return $.when.apply(null, set_values).then(function() {
return $.when.apply(null, set_values).pipe(function() {
if (!record.id) {
self.show_invalid = false;
// New record: Second pass in order to trigger the onchanges
@ -443,15 +446,15 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
} else {
var save_deferral;
if (!self.datarecord.id) {
openerp.log("FormView(", self, ") : About to create", values);
console.log("FormView(", self, ") : About to create", values);
save_deferral = self.dataset.create(values).pipe(function(r) {
return self.on_created(r, undefined, prepend_on_create);
}, null);
} else if (_.isEmpty(values)) {
openerp.log("FormView(", self, ") : Nothing to save");
console.log("FormView(", self, ") : Nothing to save");
save_deferral = $.Deferred().resolve({}).promise();
} else {
openerp.log("FormView(", self, ") : About to save", values);
console.log("FormView(", self, ") : About to save", values);
save_deferral = self.dataset.write(self.datarecord.id, values, {}).pipe(function(r) {
return self.on_saved(r);
}, null);
@ -807,9 +810,9 @@ openerp.web.form.Widget = openerp.web.Widget.extend(/** @lends openerp.web.form.
}, options || {});
trigger.tipTip(options);
},
_build_view_fields_values: function() {
_build_view_fields_values: function(blacklist) {
var a_dataset = this.view.dataset;
var fields_values = this.view.get_fields_values();
var fields_values = this.view.get_fields_values(blacklist);
var active_id = a_dataset.ids[a_dataset.index];
_.extend(fields_values, {
active_id: active_id || false,
@ -822,27 +825,27 @@ openerp.web.form.Widget = openerp.web.Widget.extend(/** @lends openerp.web.form.
}
return fields_values;
},
_build_eval_context: function() {
_build_eval_context: function(blacklist) {
var a_dataset = this.view.dataset;
return new openerp.web.CompoundContext(a_dataset.get_context(), this._build_view_fields_values());
return new openerp.web.CompoundContext(a_dataset.get_context(), this._build_view_fields_values(blacklist));
},
/**
* Builds a new context usable for operations related to fields by merging
* the fields'context with the action's context.
*/
build_context: function() {
build_context: function(blacklist) {
var f_context = (this.field || {}).context || {};
if (!!f_context.__ref) {
var fields_values = this._build_eval_context();
f_context = new openerp.web.CompoundDomain(f_context).set_eval_context(fields_values);
if (!!f_context.__ref || true) { //TODO: remove true
var fields_values = this._build_eval_context(blacklist);
f_context = new openerp.web.CompoundContext(f_context).set_eval_context(fields_values);
}
// maybe the default_get should only be used when we do a default_get?
var v_contexts = _.compact([this.node.attrs.default_get || null,
this.node.attrs.context || null]);
var v_context = new openerp.web.CompoundContext();
_.each(v_contexts, function(x) {v_context.add(x);});
if (_.detect(v_contexts, function(x) {return !!x.__ref;})) {
var fields_values = this._build_eval_context();
if (_.detect(v_contexts, function(x) {return !!x.__ref;}) || true) { //TODO: remove true
var fields_values = this._build_eval_context(blacklist);
v_context.set_eval_context(fields_values);
}
// if there is a context on the node, overrides the model's context
@ -854,7 +857,7 @@ openerp.web.form.Widget = openerp.web.Widget.extend(/** @lends openerp.web.form.
var n_domain = this.node.attrs.domain || null;
// if there is a domain on the node, overrides the model's domain
var final_domain = n_domain !== null ? n_domain : f_domain;
if (!(final_domain instanceof Array)) {
if (!(final_domain instanceof Array) || true) { //TODO: remove true
var fields_values = this._build_eval_context();
final_domain = new openerp.web.CompoundDomain(final_domain).set_eval_context(fields_values);
}
@ -2100,13 +2103,19 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
this.dataset.child_name = this.name;
//this.dataset.child_name =
this.dataset.on_change.add_last(function() {
self.on_ui_change();
self.trigger_on_change();
});
this.is_setted.then(function() {
self.load_views();
});
},
trigger_on_change: function() {
var tmp = this.doing_on_change;
this.doing_on_change = true;
this.on_ui_change();
this.doing_on_change = tmp;
},
is_readonly: function() {
return this.readonly || this.force_readonly;
},
@ -2289,6 +2298,8 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
return commands['delete'](x.id);}));
},
save_any_view: function() {
if (this.doing_on_change)
return false;
return this.session.synchronized_mode(_.bind(function() {
if (this.viewmanager && this.viewmanager.views && this.viewmanager.active_view &&
this.viewmanager.views[this.viewmanager.active_view] &&
@ -2353,7 +2364,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
openerp.web.form.One2ManyDataSet = openerp.web.BufferedDataSet.extend({
get_context: function() {
this.context = this.o2m.build_context();
this.context = this.o2m.build_context([this.o2m.name]);
return this.context;
}
});
@ -2383,6 +2394,7 @@ openerp.web.form.One2ManyListView = openerp.web.ListView.extend({
return self.o2m.dataset.read_ids.apply(self.o2m.dataset, arguments);
},
parent_view: self.o2m.view,
child_name: self.o2m.name,
form_view_options: {'not_interactible_on_create':true}
},
self.o2m.build_domain(),

View File

@ -109,7 +109,8 @@ session.web.ActionManager = session.web.Widget.extend({
search_view : !popup,
action_buttons : !popup,
sidebar : !popup,
pager : !popup
pager : !popup,
display_title : !popup
}, action.flags || {});
if (!(type in this)) {
console.error("Action manager can't handle action of type " + action.type, action);

View File

@ -18,8 +18,6 @@
</div>
</t>
<t t-name="Interface">
<div id="oe_loading"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="main_table">
<tr>
<td colspan="2" valign="top">
@ -27,19 +25,6 @@
<div id="oe_menu" class="menu"></div>
</td>
</tr>
<tr>
<td valign="top" class="login-container" colspan="2">
<div id="oe_login" class="login"></div>
</td>
</tr>
<tr class="db_options_row">
<td valign="top" class="db_container">
<div id="oe_database" class="database"></div>
</td>
<td valign="top">
<div id="oe_db_options"></div>
</td>
</tr>
<tr>
<td colspan="2" valign="top" height="100%">
<table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%">
@ -63,20 +48,12 @@
</table>
</t>
<t t-name="Loading">
<div class="loading">
Loading...
<div id="oe_loading">
<div class="loading">
Loading...
</div>
</div>
</t>
<t t-name="Database">
<ul class="db_options" style="padding: 0px; display: inline;">
<li id="db-create">Create</li>
<li id="db-drop">Drop</li>
<li id="db-backup">Backup</li>
<li id="db-restore">Restore</li>
<li id="db-change-password">Password</li>
<li id="back-to-login">Back to Login</li>
</ul>
</t>
<t t-name="Database.CreateDB">
<form name="create_db_form" class="oe_forms" method="POST">
<table width="100%">
@ -310,7 +287,7 @@
</t>
<t t-name="Login">
<div>
<div class="login">
<div class="bottom"> </div>
<div class="login_error_message">Invalid username or password</div>
<div class="pane">
@ -318,13 +295,13 @@
<form action="" method="post">
<div class="dbpane" >
Database:
<input name="db"/>
<input name="db" t-att-value="widget.selected_db || ''"/>
</div>
<ul>
<li>Username</li>
<li><input type="text" name="login" autofocus="autofocus"/></li>
<li><input type="text" name="login" t-att-value="widget.selected_login || ''" autofocus="autofocus"/></li>
<li>Password</li>
<li><input type="password" name="password" value=""/></li>
<li><input type="password" name="password" t-att-value="widget.selected_password || ''"/></li>
<li><button name="submit">Log in</button></li>
</ul>
</form>
@ -335,6 +312,24 @@
</div>
</div>
</t>
<t t-name="DatabaseManager">
<div class="oe-database-manager">
<div class="database">
<a class="company_logo_link" href="/?">
<div class="company_logo"></div>
</a>
<ul class="db_options">
<li id="db-create">Create</li>
<li id="db-drop">Drop</li>
<li id="db-backup">Backup</li>
<li id="db-restore">Restore</li>
<li id="db-change-password">Password</li>
<li id="back-to-login">Back to Login</li>
</ul>
</div>
<div id="oe_db_options" class="oe_db_options"></div>
</div>
</t>
<t t-name="Header">
<div>
<a t-att-href="'/' + widget.qs" class="company_logo_link">
@ -360,7 +355,7 @@
</li>
</ul>
<div class="block">
<a href="#logout" class="logout">LOGOUT</a>
<a href="javascript:void(0)" class="logout">LOGOUT</a>
</div>
</div>
@ -1182,14 +1177,14 @@
</form>
</t>
<t t-name="SearchView.managed-filters">
<option/>
<option class="oe-filters-title">Filters</option>
<optgroup label="-- Filters --">
<t t-foreach="filters" t-as="filter">
<option t-attf-value="get:#{filter_index}"><t t-esc="filter.name"/></option>
</t>
</optgroup>
<optgroup label="-- Actions --">
<option value="advanced_filter">Advanced Filter</option>
<option value="advanced_filter">Add Advanced Filter</option>
<option value="save_filter">Save Filter</option>
<option value="add_to_dashboard">Add to Dashboard</option>
<option value="manage_filters">Manage Filters</option>

View File

@ -8,26 +8,26 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-12-20 18:48+0100\n"
"PO-Revision-Date: 2011-11-03 15:02+0000\n"
"Last-Translator: kifcaliph <kifcaliph@hotmail.com>\n"
"PO-Revision-Date: 2012-01-08 20:21+0000\n"
"Last-Translator: kifcaliph <Unknown>\n"
"Language-Team: Arabic <ar@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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-09 05:08+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"
msgstr ""
msgstr "التقويم"
#: addons/web_calendar/static/src/js/calendar.js:446
msgid "Responsible"
msgstr ""
msgstr "مسؤول"
#: addons/web_calendar/static/src/js/calendar.js:475
msgid "Navigator"
msgstr ""
msgstr "المتصفح"
#: addons/web_calendar/static/src/xml/web_calendar.xml:0
msgid "&nbsp;"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

View File

@ -0,0 +1,34 @@
# Turkish translation for openerp-web
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-12-20 18:48+0100\n"
"PO-Revision-Date: 2012-01-08 00:21+0000\n"
"Last-Translator: Ahmet Altınışık <Unknown>\n"
"Language-Team: Turkish <tr@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-01-09 05:08+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"
msgstr "Takvim"
#: addons/web_calendar/static/src/js/calendar.js:446
msgid "Responsible"
msgstr "Sorumlu"
#: addons/web_calendar/static/src/js/calendar.js:475
msgid "Navigator"
msgstr "Yön Gösterici"
#: addons/web_calendar/static/src/xml/web_calendar.xml:0
msgid "&nbsp;"
msgstr "&nbsp;"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"

View File

@ -0,0 +1,34 @@
# Chinese (Simplified) translation for openerp-web
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-12-20 18:48+0100\n"
"PO-Revision-Date: 2012-01-07 05:20+0000\n"
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
"Language-Team: Chinese (Simplified) <zh_CN@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-01-08 05:27+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web_calendar/static/src/js/calendar.js:11
msgid "Calendar"
msgstr "日历"
#: addons/web_calendar/static/src/js/calendar.js:446
msgid "Responsible"
msgstr "负责人"
#: addons/web_calendar/static/src/js/calendar.js:475
msgid "Navigator"
msgstr "导航器"
#: addons/web_calendar/static/src/xml/web_calendar.xml:0
msgid "&nbsp;"
msgstr "&nbsp;"

View File

@ -276,6 +276,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
self.dataset.ids.push(id);
scheduler.changeEventId(event_id, id);
self.refresh_minical();
self.reload_event(id);
}, function(r, event) {
event.preventDefault();
self.do_create_event_with_formdialog(event_id, event_obj);
@ -288,7 +289,9 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
var self = this,
data = this.get_event_data(event_obj),
form = self.form_dialog.form,
fields_to_fetch = _(form.fields_view.fields).keys();
fields_to_fetch = _(form.fields_view.fields).keys(),
set_values = [],
fields_names = [];
this.dataset.index = null;
self.creating_event_id = event_id;
this.form_dialog.form.do_show().then(function() {
@ -296,14 +299,26 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
_.each(['date_start', 'date_stop', 'date_delay'], function(field) {
var field_name = self[field];
if (field_name && form.fields[field_name]) {
field = form.fields[field_name];
field.set_value(data[field_name]);
field.dirty = true;
form.do_onchange(field);
var ffield = form.fields[field_name];
ffield.reset();
var result = ffield.set_value(data[field_name]);
set_values.push(result);
fields_names.push(field_name);
$.when(result).then(function() {
ffield.validate();
});
}
});
form.show_invalid = true;
self.form_dialog.open();
$.when(set_values).then(function() {
_.each(fields_names, function(fn) {
var field = form.fields[fn];
field.dirty = true;
form.do_onchange(field);
});
form.show_invalid = true;
self.form_dialog.open();
});
});
},
do_save_event: function(event_id, event_obj) {
@ -397,6 +412,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
if (self.sidebar) {
self.sidebar.$element.show();
}
self.do_push_state({});
});
},
do_hide: function () {

View File

@ -8,18 +8,18 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-12-20 18:48+0100\n"
"PO-Revision-Date: 2011-11-03 15:09+0000\n"
"Last-Translator: kifcaliph <kifcaliph@hotmail.com>\n"
"PO-Revision-Date: 2012-01-08 20:45+0000\n"
"Last-Translator: kifcaliph <Unknown>\n"
"Language-Team: Arabic <ar@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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-09 05:08+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"
msgstr ""
msgstr "تعديل التنسيق"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Reset"
@ -31,11 +31,11 @@ msgstr "تغيير المخطط"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "&nbsp;"
msgstr ""
msgstr "&nbsp;"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Create"
msgstr ""
msgstr "إنشاء"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Choose dashboard layout"
@ -53,24 +53,24 @@ msgstr "%"
msgid ""
"Click on the functionalites listed below to launch them and configure your "
"system"
msgstr ""
msgstr "اضغط علي الوظائف الموجودة بالأسفل للبدء في إعداد نظامك"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Welcome to OpenERP"
msgstr ""
msgstr "أهلاً و مرحباً بكم في Openerp عربي"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Remember to bookmark this page."
msgstr ""
msgstr "لا تنس إدراج هذه الصفحة ضمن المفضلات."
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Remember your login:"
msgstr ""
msgstr "تذكر كلمة المرور"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr ""
msgstr "اختر أول تطبيق OpenERP تود تثبيته..."
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Please choose the first application to install."
msgstr ""
msgstr "من فضلك اختر أول تطبيق OpenERP تود تثبيته."

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"

View File

@ -0,0 +1,77 @@
# Turkish translation for openerp-web
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-12-20 18:48+0100\n"
"PO-Revision-Date: 2012-01-08 00:32+0000\n"
"Last-Translator: Ahmet Altınışık <Unknown>\n"
"Language-Team: Turkish <tr@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-01-09 05:08+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web_dashboard/static/src/js/dashboard.js:63
msgid "Edit Layout"
msgstr "Şablonu değiştir"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Reset"
msgstr "Yeniden başlat"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Change layout"
msgstr "Yerleşimi Değiştir"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "&nbsp;"
msgstr "&nbsp;"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Create"
msgstr "Oluştur"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Choose dashboard layout"
msgstr "Yönetim Paneli Yerleşmini Seç"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "progress:"
msgstr "İlerleme:"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "%"
msgstr "%"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid ""
"Click on the functionalites listed below to launch them and configure your "
"system"
msgstr ""
"Aşağıdaki fonksiyon adlarının üzerlerine tıklayarak ayarları yapabilirsiniz."
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Welcome to OpenERP"
msgstr "OpenERP ye hoşgeldiniz."
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Remember to bookmark this page."
msgstr "Bu sayfayı Sık kullanılanlara eklemeyi unutma"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Remember your login:"
msgstr "Kullanıcı adını hatırla:"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Kurmak istediğiniz ilk OpenERP uygulamasını seçin"
#: addons/web_dashboard/static/src/xml/web_dashboard.xml:0
msgid "Please choose the first application to install."
msgstr "Lütfen kurmak istediğiniz ilk uygulamayı seçin"

View File

@ -0,0 +1,38 @@
# Arabic translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-11-08 05:50+0000\n"
"Last-Translator: Ahmad Khayyat <Unknown>\n"
"Language-Team: Arabic <ar@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "أهلاً و مرحباً بك في OpenERP"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "لا تنس إدراج هذه الصفحة ضمن المفضلات"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "تذكر كلمة المرور"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "اختر أول تطبيق OpenERP تود تثبيته"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "تثبيت"

View File

@ -0,0 +1,38 @@
# Danish translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-11 14:02+0000\n"
"Last-Translator: Jonas Mortensen <Unknown>\n"
"Language-Team: Danish <da@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Velkommen til din nye OpenERP instans."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Husk at tilføje denne side til dine favoritter."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Husk dit log ind:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Vælg den første OpenERP Applikation som du ønsker at installere."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Installér"

View File

@ -0,0 +1,38 @@
# German translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-10 12:40+0000\n"
"Last-Translator: Felix Schubert <Unknown>\n"
"Language-Team: German <de@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Willkommen zu Ihrer neuen OpenERP Instanz."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Denken Sie daran ein Lesezeichen für diese Seite zu setzen."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Anmeldung speichern"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Wählen Sie die erste OpenERP Anwendung die Sie installieren möchten."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Installieren"

View File

@ -0,0 +1,38 @@
# Spanish translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-18 10:47+0000\n"
"Last-Translator: Amós Oviedo <Unknown>\n"
"Language-Team: Spanish <es@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Bienvenido a su nueva instancia de OpenERP."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Recuerde añadir a marcadores esta página"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Recordar su inicio de sesión:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Elija la primera Aplicación de OpenERP que quiere instalar."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Instalar"

View File

@ -0,0 +1,38 @@
# Spanish (Ecuador) translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-07 16:00+0000\n"
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@gmail.com>\n"
"Language-Team: Spanish (Ecuador) <es_EC@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Bienvenido a tu nueva instancia de OpenERP"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Recuerda marcar esta página"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Recordar tu inicio de sesión"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Escoge la primea Aplicación OpenERP que deseas instalar..."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Instalar"

View File

@ -0,0 +1,38 @@
# Estonian translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-10 19:29+0000\n"
"Last-Translator: Aare Vesi <Unknown>\n"
"Language-Team: Estonian <et@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Paigalda"

View File

@ -0,0 +1,39 @@
# French translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-23 12:10+0000\n"
"Last-Translator: fhe (OpenERP) <Unknown>\n"
"Language-Team: French <fr@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Bienvenue dans votre nouvelle instance OpenERP."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Assurez-vous de marquer cette page comme favoris."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Mémorisez votre identifiant:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr ""
"Choisissez la première application OpenERP que vous voulez installer..."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Installer"

View File

@ -0,0 +1,38 @@
# Galician translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-19 10:31+0000\n"
"Last-Translator: Amós Oviedo <Unknown>\n"
"Language-Team: Galician <gl@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Binvido á súa nova instancia de OpenERP."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Recorde engadir a marcadores esta páxgina"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Recordar o seu inicio de sesión:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Elixa a primeira Aplicación de OpenERP que quere instalar."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Instalar"

View File

@ -0,0 +1,38 @@
# Croatian translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-11-28 12:10+0000\n"
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
"Language-Team: Croatian <hr@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Dobrodošli u Vašu novu OpenERP instancu"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Zabilježite ovu stranicu."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Vaše korisničko ime:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Instalirajte prvu OpenERP aplikaciju."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Instaliraj"

View File

@ -0,0 +1,38 @@
# Italian translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-08 13:41+0000\n"
"Last-Translator: Nicola Riolini - Micronaet <Unknown>\n"
"Language-Team: Italian <it@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Benvenuto nella nuova istanza di OpenERP"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Ricordarsi di aggiungere ai preferiti questa pagina"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Ricordare il proprio login:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Scegliere la prima applicazione OpenERP che volete installare..."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Installa"

View File

@ -0,0 +1,38 @@
# Dutch translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-12-06 11:42+0000\n"
"Last-Translator: Douwe Wullink (Dypalio) <Unknown>\n"
"Language-Team: Dutch <nl@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Welkom bij uw nieuwe OpenERP versie."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Vergeet niet een bladwijzer te maken van deze pagina"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Onthoudt uw login:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Kies de eerste OpenERP applicatie die u wilt installeren.."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Installeren"

View File

@ -0,0 +1,38 @@
# Dutch (Belgium) translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-07 09:07+0000\n"
"Last-Translator: Niels Huylebroeck <Unknown>\n"
"Language-Team: Dutch (Belgium) <nl_BE@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Welkom bij uw nieuwe OpenERP."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Gelieve een bookmark voor deze pagina te maken."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Vergeet je login niet:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Kies welke OpenERP Applicatie je wilt installeren..."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Installeer"

View File

@ -0,0 +1,38 @@
# Polish translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-11-04 16:30+0000\n"
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
"Language-Team: Polish <pl@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Witamy w twojej nowej instancji OpenERP."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Pamiętaj o dodaniu tej strony do zakładek."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Zapamiętaj twój login:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Wybierz pierwszą aplikację OpenERP do instalacji."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Instaluj"

View File

@ -0,0 +1,38 @@
# Russian translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-12-02 07:13+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Russian <ru@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr ""

View File

@ -0,0 +1,38 @@
# Slovak translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-11-01 13:27+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovak <sk@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr ""

View File

@ -0,0 +1,38 @@
# Slovenian translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-10-19 06:24+0000\n"
"Last-Translator: Anze (Neotek) <Unknown>\n"
"Language-Team: Slovenian <sl@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Dobrodošli v vaš nov primer OpenERP."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Ne pozabite narediti zaznamka te strani."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Zapomni si prijavo:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Izberite prvi aplikacijo OpenERP, ki jo želite namestiti .."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Namesti"

View File

@ -0,0 +1,38 @@
# Turkish translation for openerp-web
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2012-01-08 00:28+0000\n"
"Last-Translator: Ahmet Altınışık <Unknown>\n"
"Language-Team: Turkish <tr@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-01-09 05:08+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr "Yeni OpenERP oturumunuza hoşgeldiniz."
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr "Bu sayfayı Sık kullanılanlara eklemeyi unutma"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr "Kullanıcı adını hatırla:"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr "Kurmak istediğiniz ilk OpenERP uygulamasını seçin"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr "Kur"

View File

@ -0,0 +1,38 @@
# Ukrainian translation for openerp-web
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openerp-web package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-10-07 10:39+0200\n"
"PO-Revision-Date: 2011-12-07 16:56+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Ukrainian <uk@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-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Welcome to your new OpenERP instance."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember to bookmark this page."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Remember your login:"
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Choose the first OpenERP Application you want to install.."
msgstr ""
#: addons/web_default_home/static/src/xml/web_default_home.xml:0
msgid "Install"
msgstr ""

View File

@ -8,26 +8,26 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-12-20 18:48+0100\n"
"PO-Revision-Date: 2011-11-03 15:11+0000\n"
"Last-Translator: kifcaliph <kifcaliph@hotmail.com>\n"
"PO-Revision-Date: 2012-01-08 20:46+0000\n"
"Last-Translator: kifcaliph <Unknown>\n"
"Language-Team: Arabic <ar@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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-09 05:08+0000\n"
"X-Generator: Launchpad (build 14640)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"
msgstr ""
msgstr "الرسم التخطيطي"
#: addons/web_diagram/static/src/js/diagram.js:210
msgid "Cancel"
msgstr ""
msgstr "إلغاء"
#: addons/web_diagram/static/src/js/diagram.js:211
msgid "Save"
msgstr ""
msgstr "حفظ"
#: addons/web_diagram/static/src/xml/base_diagram.xml:0
msgid "New Node"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:17+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:18+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:18+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:18+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:18+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:18+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:18+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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: 2011-12-21 05:28+0000\n"
"X-Generator: Launchpad (build 14538)\n"
"X-Launchpad-Export-Date: 2012-01-04 05:18+0000\n"
"X-Generator: Launchpad (build 14616)\n"
#: addons/web_diagram/static/src/js/diagram.js:11
msgid "Diagram"

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