From 182b9a7182400fe43ec966f74563a5acfceda49f Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 24 Jan 2012 16:34:19 +0100
Subject: [PATCH 001/101] [IMP] document_webdav.webdav_server: remove the so
called `uniform log handling` of the HttpLogHandler class.
bzr revid: vmt@openerp.com-20120124153419-w6oed6z1ui8mouo7
---
addons/document_webdav/webdav_server.py | 37 +++++++++++--------------
1 file changed, 16 insertions(+), 21 deletions(-)
diff --git a/addons/document_webdav/webdav_server.py b/addons/document_webdav/webdav_server.py
index 81435a72137..ac7f87933ef 100644
--- a/addons/document_webdav/webdav_server.py
+++ b/addons/document_webdav/webdav_server.py
@@ -55,6 +55,8 @@ from DAV.propfind import PROPFIND
from xml.dom import minidom
from redirect import RedirectHTTPHandler
+_logger = logging.getLogger(__name__)
+
khtml_re = re.compile(r' KHTML/([0-9\.]+) ')
def OpenDAVConfig(**kw):
@@ -73,7 +75,6 @@ def OpenDAVConfig(**kw):
class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
verbose = False
- _logger = logging.getLogger('webdav')
protocol_version = 'HTTP/1.1'
_HTTP_OPTIONS= { 'DAV' : ['1', '2'],
'Allow' : [ 'GET', 'HEAD', 'COPY', 'MOVE', 'POST', 'PUT',
@@ -85,7 +86,7 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
return False
def _log(self, message):
- self._logger.debug(message)
+ _logger.debug(message)
def handle(self):
self._init_buffer()
@@ -106,7 +107,7 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
if hasattr(self.request, 'getsockname'):
addr, port = self.request.getsockname()
except Exception, e:
- self.log_error("Cannot calculate own address: %s" , e)
+ _logger.warning("Cannot calculate own address: %s", e)
# Too early here to use self.headers
self.baseuri = "%s://%s:%d/"% (server_proto, addr, port)
self.IFACE_CLASS = openerp_dav_handler(self, self.verbose)
@@ -126,12 +127,6 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
def get_davpath(self):
return self.davpath
- def log_message(self, format, *args):
- self._logger.log(netsvc.logging.DEBUG_RPC,format % args)
-
- def log_error(self, format, *args):
- self._logger.warning(format % args)
-
def _prep_OPTIONS(self, opts):
ret = opts
dc=self.IFACE_CLASS
@@ -142,7 +137,7 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
except DAV_Error, (ec,dd):
pass
except Exception,e:
- self.log_error("Error at options: %s", str(e))
+ _logger.warning("Error at options: %s", str(e))
raise
return ret
@@ -245,7 +240,7 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
try:
location = dc.put(uri, body, ct)
except DAV_Error, (ec,dd):
- self.log_error("Cannot PUT to %s: %s", uri, dd)
+ _logger.warning("Cannot PUT to %s: %s", uri, dd)
return self.send_status(ec)
headers = {}
@@ -284,7 +279,7 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
""" Unlocks given resource """
dc = self.IFACE_CLASS
- self.log_message('UNLOCKing resource %s' % self.headers)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'UNLOCKing resource %s' % self.headers)
uri = urlparse.urljoin(self.get_baseuri(dc), self.path)
uri = urllib.unquote(uri)
@@ -318,7 +313,7 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
dc = self.IFACE_CLASS
lock_data = {}
- self.log_message('LOCKing resource %s' % self.headers)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'LOCKing resource %s' % self.headers)
body = None
if self.headers.has_key('Content-Length'):
@@ -329,7 +324,7 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
uri = urlparse.urljoin(self.get_baseuri(dc), self.path)
uri = urllib.unquote(uri)
- self.log_message('do_LOCK: uri = %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'do_LOCK: uri = %s' % uri)
ifheader = self.headers.get('If')
@@ -477,7 +472,7 @@ class dummy_dav_interface(object):
uri2 = uri.split('/')
if len(uri2) < 3:
return True
- logging.getLogger('webdav').debug("Requested uri: %s", uri)
+ _logger.debug("Requested uri: %s", uri)
return None # no
def is_collection(self, uri):
@@ -532,7 +527,7 @@ class DAVStaticHandler(http_server.StaticHTTPHandler):
except DAV_Error, (ec,dd):
return self.send_error(ec,dd)
except Exception:
- self.log_exception("Cannot PROPFIND")
+ _logger.exception("Cannot PROPFIND")
raise
# work around MSIE DAV bug for creation and modified date
@@ -573,7 +568,7 @@ try:
conf = OpenDAVConfig(**_dc)
handler._config = conf
reg_http_service(directory, DAVHandler, DAVAuthProvider)
- logging.getLogger('webdav').info("WebDAV service registered at path: %s/ "% directory)
+ _logger.info("WebDAV service registered at path: %s/ ", directory)
if not (config.get_misc('webdav', 'no_root_hack', False)):
# Now, replace the static http handler with the dav-enabled one.
@@ -595,7 +590,7 @@ try:
reg_http_service('/', DAVStaticHandler)
except Exception, e:
- logging.getLogger('webdav').error('Cannot launch webdav: %s' % e)
+ _logger.error('Cannot launch webdav: %s', e)
def init_well_known():
@@ -639,9 +634,9 @@ def init_principals_redirect():
if dbname:
PrincipalsRedirect.redirect_paths[''] = '/webdav/%s/principals' % dbname
reg_http_service('/principals', PrincipalsRedirect)
- logging.getLogger("web-services").info(
- "Registered HTTP redirect handler for /principals to the %s db.",
- dbname)
+ _logger.info(
+ "Registered HTTP redirect handler for /principals to the %s db.",
+ dbname)
init_principals_redirect()
From 85f0ad1ea87f017a375d187d6d92cbdfffba61c7 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 24 Jan 2012 16:57:59 +0100
Subject: [PATCH 002/101] [IMP] document_webdav.webdav_server: remove the so
called `uniform log handling` of the HttpLogHandler class.
bzr revid: vmt@openerp.com-20120124155759-6g40dmhz6ywk9xe9
---
addons/document_webdav/dav_fs.py | 57 +++++++++++++++---------------
addons/document_webdav/redirect.py | 10 +++---
2 files changed, 34 insertions(+), 33 deletions(-)
diff --git a/addons/document_webdav/dav_fs.py b/addons/document_webdav/dav_fs.py
index 772b7600f20..a292019eeab 100644
--- a/addons/document_webdav/dav_fs.py
+++ b/addons/document_webdav/dav_fs.py
@@ -175,7 +175,7 @@ class openerp_dav_handler(dav_interface):
def get_propnames(self, uri):
props = self.PROPS
- self.parent.log_message('get propnames: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get propnames: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
if not dbname:
if cr: cr.close()
@@ -203,21 +203,21 @@ class openerp_dav_handler(dav_interface):
except NotImplementedError, e:
if cr: cr.close()
import traceback
- self.parent.log_error("Cannot %s: %s", opname, str(e))
- self.parent.log_message("Exc: %s",traceback.format_exc())
+ _logger.warning("Cannot %s: %s", opname, str(e))
+ _logger.log(netsvc.logging.DEBUG_RPC, "Exc: %s" % traceback.format_exc())
# see par 9.3.1 of rfc
raise DAV_Error(403, str(e) or 'Not supported at this path')
except EnvironmentError, err:
if cr: cr.close()
import traceback
- self.parent.log_error("Cannot %s: %s", opname, err.strerror)
- self.parent.log_message("Exc: %s",traceback.format_exc())
+ _logger.warning("Cannot %s: %s", opname, err.strerror)
+ _logger.log(netsvc.logging.DEBUG_RPC, "Exc: %s" % traceback.format_exc())
raise default_exc(err.strerror)
except Exception, e:
import traceback
if cr: cr.close()
- self.parent.log_error("Cannot %s: %s", opname, str(e))
- self.parent.log_message("Exc: %s",traceback.format_exc())
+ _logger.warning("Cannot %s: %s", opname, str(e))
+ _logger.log(netsvc.logging.DEBUG_RPC, "Exc: %s" % traceback.format_exc())
raise default_exc("Operation failed")
def _get_dav_lockdiscovery(self, uri):
@@ -245,7 +245,7 @@ class openerp_dav_handler(dav_interface):
def prep_http_options(self, uri, opts):
"""see HttpOptions._prep_OPTIONS """
- self.parent.log_message('get options: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get options: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri, allow_last=True)
if not dbname:
@@ -268,7 +268,7 @@ class openerp_dav_handler(dav_interface):
ret[key] = []
ret[key].extend(val)
- self.parent.log_message('options: %s' % ret)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'options: %s' % ret)
else:
ret = opts
cr.close()
@@ -369,7 +369,7 @@ class openerp_dav_handler(dav_interface):
if res and len(res):
self.db_name_list.append(db_name)
except Exception, e:
- self.parent.log_error("Exception in db list: %s" % e)
+ _logger.warning("Exception in db list: %s", e)
finally:
if cr:
cr.close()
@@ -377,7 +377,7 @@ class openerp_dav_handler(dav_interface):
def get_childs(self,uri, filters=None):
""" return the child objects as self.baseuris for the given URI """
- self.parent.log_message('get children: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get children: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri, allow_last=True)
if not dbname:
@@ -394,7 +394,7 @@ class openerp_dav_handler(dav_interface):
fp = node.full_path()
if fp and len(fp):
fp = '/'.join(fp)
- self.parent.log_message('children for: %s' % fp)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'children for: %s' % fp)
else:
fp = None
domain = None
@@ -420,13 +420,13 @@ class openerp_dav_handler(dav_interface):
if turi.startswith(ul):
result.append( turi[len(self.parent.davpath):])
else:
- self.parent.log_error("ignore href %s because it is not under request path %s", turi, ul)
+ _logger.warning("ignore href %s because it is not under request path %s", turi, ul)
return result
# We don't want to continue with the children found below
# Note the exceptions and that 'finally' will close the
# cursor
for d in node.children(cr, domain):
- self.parent.log_message('child: %s' % d.path)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'child: %s' % d.path)
if fp:
result.append( self.urijoin(dbname,fp,d.path) )
else:
@@ -434,7 +434,7 @@ class openerp_dav_handler(dav_interface):
except DAV_Error:
raise
except Exception, e:
- self.parent.log_error("cannot get_children: "+ str(e))
+ _logger.warning("cannot get_children: "+ str(e))
raise
finally:
if cr: cr.close()
@@ -479,7 +479,7 @@ class openerp_dav_handler(dav_interface):
return pool.get('document.directory').get_object(cr, uid, uri, context=context)
def get_data(self,uri, rrange=None):
- self.parent.log_message('GET: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'GET: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
try:
if not dbname:
@@ -499,7 +499,7 @@ class openerp_dav_handler(dav_interface):
start = 0
assert start >= 0
if end and end < start:
- self.parent.log_error("Invalid range for data: %s-%s" %(start, end))
+ _logger.warning("Invalid range for data: %s-%s" %(start, end))
raise DAV_Error(416, "Invalid range for data")
if end:
if end >= res.size():
@@ -514,12 +514,12 @@ class openerp_dav_handler(dav_interface):
# says we'd better just return 200 OK with empty data
return ''
except IndexError,e :
- self.parent.log_error("GET IndexError: %s", str(e))
+ _logger.warning("GET IndexError: %s", str(e))
raise DAV_NotFound2(uri2)
except Exception,e:
import traceback
- self.parent.log_error("GET exception: %s",str(e))
- self.parent.log_message("Exc: %s", traceback.format_exc())
+ _logger.warning("GET exception: %s",str(e))
+ _logger.log(netsvc.logging.DEBUG_RPC, "Exc: %s" % traceback.format_exc())
raise DAV_Error, 409
return res
finally:
@@ -528,7 +528,7 @@ class openerp_dav_handler(dav_interface):
@memoize(CACHE_SIZE)
def _get_dav_resourcetype(self, uri):
""" return type of object """
- self.parent.log_message('get RT: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get RT: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
try:
if not dbname:
@@ -546,7 +546,7 @@ class openerp_dav_handler(dav_interface):
if cr: cr.close()
def _get_dav_displayname(self,uri):
- self.parent.log_message('get DN: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get DN: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
if not dbname:
if cr: cr.close()
@@ -565,7 +565,7 @@ class openerp_dav_handler(dav_interface):
@memoize(CACHE_SIZE)
def _get_dav_getcontentlength(self, uri):
""" return the content length of an object """
- self.parent.log_message('get length: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get length: %s' % uri)
result = 0
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
if not dbname:
@@ -582,7 +582,7 @@ class openerp_dav_handler(dav_interface):
@memoize(CACHE_SIZE)
def _get_dav_getetag(self,uri):
""" return the ETag of an object """
- self.parent.log_message('get etag: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get etag: %s' % uri)
result = 0
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
if not dbname:
@@ -638,7 +638,7 @@ class openerp_dav_handler(dav_interface):
@memoize(CACHE_SIZE)
def _get_dav_getcontenttype(self,uri):
- self.parent.log_message('get contenttype: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'get contenttype: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
if not dbname:
if cr: cr.close()
@@ -657,7 +657,7 @@ class openerp_dav_handler(dav_interface):
""" create a new collection
see par. 9.3 of rfc4918
"""
- self.parent.log_message('MKCOL: %s' % uri)
+ _logger.log(netsvc.logging.DEBUG_RPC, 'MKCOL: %s' % uri)
cr, uid, pool, dbname, uri2 = self.get_cr(uri)
if not uri2[-1]:
if cr: cr.close()
@@ -681,7 +681,8 @@ class openerp_dav_handler(dav_interface):
def put(self, uri, data, content_type=None):
""" put the object into the filesystem """
- self.parent.log_message('Putting %s (%d), %s'%( misc.ustr(uri), data and len(data) or 0, content_type))
+ _logger.log(netsvc.logging.DEBUG_RPC, 'Putting %s (%d), %s' % \
+ (misc.ustr(uri), data and len(data) or 0, content_type))
cr, uid, pool,dbname, uri2 = self.get_cr(uri)
if not dbname:
if cr: cr.close()
@@ -723,7 +724,7 @@ class openerp_dav_handler(dav_interface):
try:
etag = str(newchild.get_etag(cr))
except Exception, e:
- self.parent.log_error("Cannot get etag for node: %s" % e)
+ _logger.warning("Cannot get etag for node: %s", e)
ret = (str(hurl), etag)
else:
self._try_function(node.set_data, (cr, data), "save %s" % objname, cr=cr)
diff --git a/addons/document_webdav/redirect.py b/addons/document_webdav/redirect.py
index 7bc0883f9e8..7d04ffb51f5 100644
--- a/addons/document_webdav/redirect.py
+++ b/addons/document_webdav/redirect.py
@@ -23,10 +23,10 @@
import logging
import urlparse
from service.websrv_lib import FixSendError, HTTPHandler, HttpOptions
-from service.http_server import HttpLogHandler
-class RedirectHTTPHandler(HttpLogHandler, FixSendError, HttpOptions, HTTPHandler):
- _logger = logging.getLogger('httpd.well-known')
+_logger = logging.getLogger(__name__)
+
+class RedirectHTTPHandler(FixSendError, HttpOptions, HTTPHandler):
_HTTP_OPTIONS = { 'Allow': ['OPTIONS', 'GET', 'HEAD', 'PROPFIND'] }
redirect_paths = {}
@@ -62,7 +62,7 @@ class RedirectHTTPHandler(HttpLogHandler, FixSendError, HttpOptions, HTTPHandler
try:
addr, port = self.request.getsockname()
except Exception, e:
- self.log_error("Cannot calculate own address:" , e)
+ _logger.error("Cannot calculate own address:", e)
if self.headers.has_key('Host'):
uparts = list(urlparse.urlparse("%s://%s:%d"% (server_proto, addr,port)))
@@ -80,7 +80,7 @@ class RedirectHTTPHandler(HttpLogHandler, FixSendError, HttpOptions, HTTPHandler
self.send_header("Content-Length", 0)
self.end_headers()
# Do we need a Cache-content: header here?
- self._logger.debug("redirecting %s to %s", self.path, redir_path)
+ _logger.debug("redirecting %s to %s", self.path, redir_path)
return None
def do_PROPFIND(self):
From 7c4e08eb46a20e37ac490e6c2d4b916d56b8f63b Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 24 Jan 2012 17:28:50 +0100
Subject: [PATCH 003/101] [IMP] account,document: changed from class __logger
to module _logger.
bzr revid: vmt@openerp.com-20120124162850-qr1or3piq9f91c7u
---
addons/account/installer.py | 5 +++--
addons/document/content_index.py | 16 ++++++++--------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/addons/account/installer.py b/addons/account/installer.py
index d1b19ef4319..a9122adf488 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -31,10 +31,11 @@ from osv import fields, osv
import netsvc
import tools
+_logger = logging.getLogger(__name__)
+
class account_installer(osv.osv_memory):
_name = 'account.installer'
_inherit = 'res.config.installer'
- __logger = logging.getLogger(_name)
def _get_charts(self, cr, uid, context=None):
modules = self.pool.get('ir.module.module')
@@ -142,7 +143,7 @@ class account_installer(osv.osv_memory):
cr, uid, ids, context=context)
chart = self.read(cr, uid, ids, ['charts'],
context=context)[0]['charts']
- self.__logger.debug('Installing chart of accounts %s', chart)
+ _logger.debug('Installing chart of accounts %s', chart)
return modules | set([chart])
account_installer()
diff --git a/addons/document/content_index.py b/addons/document/content_index.py
index 64b480ee736..3cb408428c9 100644
--- a/addons/document/content_index.py
+++ b/addons/document/content_index.py
@@ -23,10 +23,11 @@ import os
import tempfile
from subprocess import Popen, PIPE
+_logger = logging.getLogger(__name__)
+
class NhException(Exception):
pass
-
class indexer(object):
""" An indexer knows how to parse the content of some file.
@@ -116,7 +117,6 @@ def mime_match(mime, mdict):
return (None, None)
class contentIndex(object):
- __logger = logging.getLogger('addons.document.content_index')
def __init__(self):
self.mimes = {}
self.exts = {}
@@ -132,7 +132,7 @@ class contentIndex(object):
f = True
if f:
- self.__logger.debug('Register content indexer: %r', obj)
+ _logger.debug('Register content indexer: %r', obj)
if not f:
raise Exception("Your indexer should at least suport a mimetype or extension")
@@ -169,22 +169,22 @@ class contentIndex(object):
(result, _) = pop.communicate()
mime2 = result.split(';')[0]
- self.__logger.debug('File gave us: %s', mime2)
+ _logger.debug('File gave us: %s', mime2)
# Note that the temporary file still exists now.
mime,fobj = mime_match(mime2, self.mimes)
if not mime:
mime = mime2
except Exception:
- self.__logger.exception('Cannot determine mime type')
+ _logger.exception('Cannot determine mime type')
try:
if fobj:
res = (mime, fobj.indexContent(content,filename,fname or realfname) )
else:
- self.__logger.debug("Have no object, return (%s, None)", mime)
+ _logger.debug("Have no object, return (%s, None)", mime)
res = (mime, None )
except Exception:
- self.__logger.exception("Could not index file %s (%s)",
+ _logger.exception("Could not index file %s (%s)",
filename, fname or realfname)
res = None
@@ -193,7 +193,7 @@ class contentIndex(object):
try:
os.unlink(fname)
except Exception:
- self.__logger.exception("Could not unlink %s", fname)
+ _logger.exception("Could not unlink %s", fname)
return res
From 57b41aae43f0f2626f08e3e212aad4bab0394d42 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 25 Jan 2012 10:44:51 +0100
Subject: [PATCH 004/101] [IMP] logging: use logging instead of netsvc, use
module __name__ instead of something else.
bzr revid: vmt@openerp.com-20120125094451-a6mejmnaxa2vp1bu
---
addons/account/account.py | 20 +-
.../report/bank_statement_balance_report.py | 4 -
addons/account_coda/account_coda.py | 5 +-
.../wizard/account_coda_import.py | 26 +-
addons/account_payment/account_payment.py | 7 +-
.../wizard/wizard_tech_guide_rst.py | 25 +-
.../base_module_quality.py | 21 +-
addons/document/document.py | 6 +-
addons/document/document_directory.py | 7 +-
addons/document/document_storage.py | 63 ++-
addons/document/nodes.py | 24 +-
addons/document/std_index.py | 7 +-
addons/document_ftp/ftpserver/__init__.py | 10 +-
addons/edi/__init__.py | 2 +-
addons/edi/edi_service.py | 2 +-
addons/edi/models/edi.py | 6 +-
addons/edi/models/res_partner.py | 6 +-
addons/fetchmail/fetchmail.py | 14 +-
addons/import_base/import_framework.py | 15 +-
addons/l10n_be_invoice_bba/invoice.py | 433 +++++++++---------
addons/l10n_be_invoice_bba/partner.py | 5 +-
addons/l10n_multilang/l10n_multilang.py | 13 +-
addons/mail/mail_message.py | 2 +-
addons/mail/mail_thread.py | 3 -
addons/project_messages/project_messages.py | 2 -
addons/report_webkit/webkit_report.py | 11 +-
addons/stock/stock.py | 6 +-
27 files changed, 369 insertions(+), 376 deletions(-)
diff --git a/addons/account/account.py b/addons/account/account.py
index 432a90a653e..2b1834002e7 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -19,17 +19,19 @@
#
##############################################################################
-import time
from datetime import datetime
from dateutil.relativedelta import relativedelta
+import logging
from operator import itemgetter
+import time
-import netsvc
-import pooler
-from osv import fields, osv
import decimal_precision as dp
+from osv import fields, osv
+import pooler
from tools.translate import _
+_logger = logging.getLogger(__name__)
+
def check_cycle(self, cr, uid, ids, context=None):
""" climbs the ``self._table.parent_id`` chains for 100 levels or
until it can't find any more parent(s)
@@ -212,7 +214,6 @@ class account_account(osv.osv):
_name = "account.account"
_description = "Account"
_parent_store = True
- logger = netsvc.Logger()
def search(self, cr, uid, args, offset=0, limit=None, order=None,
context=None, count=False):
@@ -295,8 +296,7 @@ class account_account(osv.osv):
if aml_query.strip():
wheres.append(aml_query.strip())
filters = " AND ".join(wheres)
- self.logger.notifyChannel('addons.'+self._name, netsvc.LOG_DEBUG,
- 'Filters: %s'%filters)
+ _logger.debug('Filters: %s', filters)
# IN might not work ideally in case there are too many
# children_and_consolidated, in that case join on a
# values() e.g.:
@@ -312,8 +312,7 @@ class account_account(osv.osv):
" GROUP BY l.account_id")
params = (tuple(children_and_consolidated),) + query_params
cr.execute(request, params)
- self.logger.notifyChannel('addons.'+self._name, netsvc.LOG_DEBUG,
- 'Status: %s'%cr.statusmessage)
+ _logger.debug('Status: %s', cr.statusmessage)
for res in cr.dictfetchall():
accounts[res['id']] = res
@@ -2083,8 +2082,7 @@ class account_tax(osv.osv):
}
def compute(self, cr, uid, taxes, price_unit, quantity, address_id=None, product=None, partner=None):
- logger = netsvc.Logger()
- logger.notifyChannel("warning", netsvc.LOG_WARNING,
+ _logger.warning(
"Deprecated, use compute_all(...)['taxes'] instead of compute(...) to manage prices with tax included")
return self._compute(cr, uid, taxes, price_unit, quantity, address_id, product, partner)
diff --git a/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py b/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py
index 8e1e4b09e47..50b5bcd8d36 100644
--- a/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py
+++ b/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py
@@ -22,14 +22,10 @@
import time
from report import report_sxw
-import pooler
-import netsvc
-logger=netsvc.Logger()
class bank_statement_balance_report(report_sxw.rml_parse):
def set_context(self, objects, data, ids, report_type=None):
- #logger.notifyChannel('addons.'+__name__, netsvc.LOG_WARNING, 'set_context, objects = %s, data = %s, ids = %s' % (objects, data, ids))
cr = self.cr
uid = self.uid
context = self.context
diff --git a/addons/account_coda/account_coda.py b/addons/account_coda/account_coda.py
index f967669b98e..b4723794578 100644
--- a/addons/account_coda/account_coda.py
+++ b/addons/account_coda/account_coda.py
@@ -21,11 +21,10 @@
##############################################################################
import time
-from osv import osv, fields
+
import decimal_precision as dp
-import netsvc
+from osv import osv, fields
from tools.translate import _
-logger=netsvc.Logger()
class coda_bank_account(osv.osv):
_name= 'coda.bank.account'
diff --git a/addons/account_coda/wizard/account_coda_import.py b/addons/account_coda/wizard/account_coda_import.py
index 02e72bc3562..ac9a623e2fc 100644
--- a/addons/account_coda/wizard/account_coda_import.py
+++ b/addons/account_coda/wizard/account_coda_import.py
@@ -20,15 +20,16 @@
#
##############################################################################
-import time
import base64
+import re
+from sys import exc_info
+import time
+from traceback import format_exception
+
from osv import fields,osv
from tools.translate import _
-import netsvc
-import re
-from traceback import format_exception
-from sys import exc_info
-logger=netsvc.Logger()
+
+_logger = logging.getLogger(__name__)
class account_coda_import(osv.osv_memory):
_name = 'account.coda.import'
@@ -816,7 +817,6 @@ class account_coda_import(osv.osv_memory):
ttype = line['type'] == 'supplier' and 'payment' or 'receipt',
date = line['val_date'],
context = context)
- #logger.notifyChannel('addons.'+self._name, netsvc.LOG_WARNING, 'voucher_dict = %s' % voucher_dict)
voucher_line_vals = False
if voucher_dict['value']['line_ids']:
for line_dict in voucher_dict['value']['line_ids']:
@@ -889,22 +889,22 @@ class account_coda_import(osv.osv_memory):
nb_err += 1
err_string += _('\nError ! ') + str(e)
tb = ''.join(format_exception(*exc_info()))
- logger.notifyChannel('addons.'+self._name, netsvc.LOG_ERROR,
- 'Application Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
+ _logger.error('Application Error while processing Statement %s\n%s',
+ statement.get('name', '/'), tb)
except Exception, e:
cr.rollback()
nb_err += 1
err_string += _('\nSystem Error : ') + str(e)
tb = ''.join(format_exception(*exc_info()))
- logger.notifyChannel('addons.'+self._name, netsvc.LOG_ERROR,
- 'System Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
+ _logger.error('System Error while processing Statement %s\n%s',
+ statement.get('name', '/'), tb)
except :
cr.rollback()
nb_err += 1
err_string = _('\nUnknown Error : ') + str(e)
tb = ''.join(format_exception(*exc_info()))
- logger.notifyChannel('addons.'+self._name, netsvc.LOG_ERROR,
- 'Unknown Error while processing Statement %s\n%s' % (statement.get('name', '/'),tb))
+ _logger.error('Unknown Error while processing Statement %s\n%s',
+ statement.get('name', '/'), tb)
# end 'for statement in coda_statements'
diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py
index 1de715dc777..11d4f98af8f 100644
--- a/addons/account_payment/account_payment.py
+++ b/addons/account_payment/account_payment.py
@@ -19,11 +19,14 @@
#
##############################################################################
+import logging
import time
from osv import osv, fields
import netsvc
+_logger = logging.getLogger(__name__)
+
class payment_mode(osv.osv):
_name= 'payment.mode'
_description= 'Payment Mode'
@@ -70,9 +73,7 @@ class payment_order(osv.osv):
#dead code
def get_wizard(self, type):
- logger = netsvc.Logger()
- logger.notifyChannel("warning", netsvc.LOG_WARNING,
- "No wizard found for the payment type '%s'." % type)
+ _logger.warning("No wizard found for the payment type '%s'.", type)
return None
def _total(self, cursor, user, ids, name, args, context=None):
diff --git a/addons/base_module_doc_rst/wizard/wizard_tech_guide_rst.py b/addons/base_module_doc_rst/wizard/wizard_tech_guide_rst.py
index 39933c39a3e..9f4c75918b9 100644
--- a/addons/base_module_doc_rst/wizard/wizard_tech_guide_rst.py
+++ b/addons/base_module_doc_rst/wizard/wizard_tech_guide_rst.py
@@ -18,17 +18,18 @@
# along with this program. If not, see .
#
##############################################################################
-from os.path import join
import base64
-import tempfile
-import tarfile
import httplib
+import logging
+import os
+from os.path import join
+import tarfile
+import tempfile
-import netsvc
import wizard
import pooler
-import os
-import tools
+
+_logger = logging.getLogger(__name__)
choose_file_form = '''
-
+
-
+
diff --git a/addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py b/addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py
index 2af8792472e..652d5139288 100644
--- a/addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py
+++ b/addons/hr_timesheet_sheet/wizard/hr_timesheet_current.py
@@ -36,7 +36,7 @@ class hr_timesheet_current_open(osv.osv_memory):
user_ids = self.pool.get('hr.employee').search(cr, uid, [('user_id','=',uid)], context=context)
if not len(user_ids):
raise osv.except_osv(_('Error!'), _('Please create an employee and associate it with this user.'))
- ids = ts.search(cr, uid, [('user_id','=',uid),('state','=','draft'),('date_from','<=',time.strftime('%Y-%m-%d')), ('date_to','>=',time.strftime('%Y-%m-%d'))], context=context)
+ ids = ts.search(cr, uid, [('user_id','=',uid),('state','in',('draft','new')),('date_from','<=',time.strftime('%Y-%m-%d')), ('date_to','>=',time.strftime('%Y-%m-%d'))], context=context)
if len(ids) > 1:
view_type = 'tree,form'
From 0537147d95a1f7b795e6043c7dbdc774dd8dd1b2 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 26 Oct 2012 12:08:19 +0200
Subject: [PATCH 082/101] [IMP] expression.py: added tests for the in/not in
operators involving a many2many.
bzr revid: vmt@openerp.com-20121026100819-b2o4q9a082um6p2m
---
openerp/addons/base/tests/__init__.py | 6 +-
openerp/addons/base/tests/test_expression.py | 58 ++++++++++++++++++++
2 files changed, 62 insertions(+), 2 deletions(-)
create mode 100644 openerp/addons/base/tests/test_expression.py
diff --git a/openerp/addons/base/tests/__init__.py b/openerp/addons/base/tests/__init__.py
index 42fef2eb39d..409f9928c6f 100644
--- a/openerp/addons/base/tests/__init__.py
+++ b/openerp/addons/base/tests/__init__.py
@@ -1,5 +1,7 @@
-import test_ir_values, test_base
+import test_base, test_expression, test_ir_values
checks = [
- test_ir_values, test_base
+ test_base,
+ test_expression,
+ test_ir_values,
]
diff --git a/openerp/addons/base/tests/test_expression.py b/openerp/addons/base/tests/test_expression.py
new file mode 100644
index 00000000000..0bdd4180c0b
--- /dev/null
+++ b/openerp/addons/base/tests/test_expression.py
@@ -0,0 +1,58 @@
+import unittest2
+
+import openerp.tests.common as common
+
+class test_expression(common.TransactionCase):
+
+ def test_00(self):
+
+ registry, cr, uid = self.registry, self.cr, self.uid
+
+ categories = registry('res.partner.category')
+ cat_a = categories.create(cr, uid, {'name': 'test_expression_category_A'})
+ cat_b = categories.create(cr, uid, {'name': 'test_expression_category_B'})
+
+ partners = registry('res.partner')
+ a = partners.create(cr, uid, {'name': 'test_expression_partner_A', 'category_id': [(6, 0, [cat_a])]})
+ b = partners.create(cr, uid, {'name': 'test_expression_partner_B', 'category_id': [(6, 0, [cat_b])]})
+ ab = partners.create(cr, uid, {'name': 'test_expression_partner_AB', 'category_id': [(6, 0, [cat_a, cat_b])]})
+ c = partners.create(cr, uid, {'name': 'test_expression_partner_C'})
+
+ with_a = partners.search(cr, uid, [('category_id', 'in', [cat_a])])
+ self.assertEqual(set([a, ab]), set(with_a), "Search for category_id in cat_a failed.")
+
+ with_b = partners.search(cr, uid, [('category_id', 'in', [cat_b])])
+ self.assertEqual(set([ab, b]), set(with_b), "Search for category_id in cat_b failed.")
+
+ with_a_or_b = partners.search(cr, uid, [('category_id', 'in', [cat_a, cat_b])])
+ self.assertEqual(set([ab, a, b]), set(with_a_or_b), "Search for category_id contains cat_a or cat_b failed.")
+
+ with_a_and_b = partners.search(cr, uid, [('category_id', 'in', [cat_a]), ('category_id', 'in', [cat_b])])
+ self.assertEqual(set([ab]), set(with_a_and_b), "Search for category_id contains cat_a and cat_b failed.")
+
+ # Note it is the same as with_a_or_b above.
+ with_a_or_with_b = partners.search(cr, uid, ['|', ('category_id', 'in', [cat_a]), ('category_id', 'in', [cat_b])])
+ self.assertEqual(set([ab, a, b]), set(with_a_or_with_b), "Search for category_id contains cat_a or contains cat_b failed.")
+
+ without_a_or_b = partners.search(cr, uid, [('category_id', 'not in', [cat_a, cat_b])])
+ self.assertTrue(all(i not in without_a_or_b for i in [a, b, ab]), "Search for category_id doesn't contain cat_a or cat_b failed (1).")
+ self.assertTrue(c in without_a_or_b, "Search for category_id doesn't contain cat_a or cat_b failed (2).")
+
+ without_a_and_without_b = partners.search(cr, uid, [('category_id', 'not in', [cat_a]), ('category_id', 'not in', [cat_b])])
+ self.assertTrue(all(i not in without_a_and_without_b for i in [a, b, ab]), "Search for category_id doesn't contain cat_a and cat_b failed (1).")
+ self.assertTrue(c in without_a_and_without_b, "Search for category_id doesn't contain cat_a and cat_b failed (2).")
+
+ without_a = partners.search(cr, uid, [('category_id', 'not in', [cat_a])])
+ self.assertTrue(a not in without_a, "Search for category_id doesn't contain cat_a failed (1).")
+ self.assertTrue(ab not in without_a, "Search for category_id doesn't contain cat_a failed (2).")
+ self.assertTrue(set([b, c]).issubset(set(without_a)), "Search for category_id doesn't contain cat_a failed (3).")
+
+ without_b = partners.search(cr, uid, [('category_id', 'not in', [cat_b])])
+ self.assertTrue(b not in without_b, "Search for category_id doesn't contain cat_b failed (1).")
+ self.assertTrue(ab not in without_b, "Search for category_id doesn't contain cat_b failed (2).")
+ self.assertTrue(set([a, c]).issubset(set(without_b)), "Search for category_id doesn't contain cat_b failed (3).")
+
+ # We can't express the following.
+ # with_any_other_than_a = ...
+ # self.assertTrue(ab in with_any_other_than_a, "Search for category_id with any other than cat_a failed.")
+
From 458f6de18480d7af72700752aea54f29da39b312 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Fri, 26 Oct 2012 12:12:41 +0200
Subject: [PATCH 083/101] [IMP] typo
bzr revid: fp@tinyerp.com-20121026101241-d7j0vaujc73go3bf
---
.../hr_timesheet_sheet/static/src/xml/timesheet.xml | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml b/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml
index 667c7af23be..4390c7c6ed1 100644
--- a/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml
+++ b/addons/hr_timesheet_sheet/static/src/xml/timesheet.xml
@@ -54,12 +54,16 @@
- Click to add a project you worked on.
+ Click to add projects/analytic accounts you worked on.
You will be able to register your working hours and
- activities on these projects. You can also click on a
- selected project/analytic account to setup the
- invoicing options.
+ activities.
+
+ By default, you record timesheets on analytic accounts.
+ But if an analytic account represents a customer
+ contract, you can change the type of the analytic
+ account to 'Contract or Project' to setup the invoicing
+ options.
From 56c1a398a08cb74b8bf4e02e4f2894777a313516 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 26 Oct 2012 13:01:09 +0200
Subject: [PATCH 084/101] [IMP] expression.py: added comments to the in/not in
many2many tests.
bzr revid: vmt@openerp.com-20121026110109-l212flw0p5cklc6p
---
openerp/addons/base/tests/test_expression.py | 28 +++++++++++++++-----
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/openerp/addons/base/tests/test_expression.py b/openerp/addons/base/tests/test_expression.py
index 0bdd4180c0b..5690cff443a 100644
--- a/openerp/addons/base/tests/test_expression.py
+++ b/openerp/addons/base/tests/test_expression.py
@@ -4,10 +4,12 @@ import openerp.tests.common as common
class test_expression(common.TransactionCase):
- def test_00(self):
+ def test_in_not_in_m2m(self):
registry, cr, uid = self.registry, self.cr, self.uid
+ # Create 4 partners with no category, or one or two categories (out of two categories).
+
categories = registry('res.partner.category')
cat_a = categories.create(cr, uid, {'name': 'test_expression_category_A'})
cat_b = categories.create(cr, uid, {'name': 'test_expression_category_B'})
@@ -18,41 +20,53 @@ class test_expression(common.TransactionCase):
ab = partners.create(cr, uid, {'name': 'test_expression_partner_AB', 'category_id': [(6, 0, [cat_a, cat_b])]})
c = partners.create(cr, uid, {'name': 'test_expression_partner_C'})
+ # The tests.
+
+ # On a one2many or many2many field, `in` should be read `contains` (and
+ # `not in` should be read `doesn't contain`.
+
with_a = partners.search(cr, uid, [('category_id', 'in', [cat_a])])
self.assertEqual(set([a, ab]), set(with_a), "Search for category_id in cat_a failed.")
with_b = partners.search(cr, uid, [('category_id', 'in', [cat_b])])
self.assertEqual(set([ab, b]), set(with_b), "Search for category_id in cat_b failed.")
+ # Partners with the category A or the category B.
with_a_or_b = partners.search(cr, uid, [('category_id', 'in', [cat_a, cat_b])])
self.assertEqual(set([ab, a, b]), set(with_a_or_b), "Search for category_id contains cat_a or cat_b failed.")
- with_a_and_b = partners.search(cr, uid, [('category_id', 'in', [cat_a]), ('category_id', 'in', [cat_b])])
- self.assertEqual(set([ab]), set(with_a_and_b), "Search for category_id contains cat_a and cat_b failed.")
-
- # Note it is the same as with_a_or_b above.
+ # Show that `contains list` is really `contains element or contains element`.
with_a_or_with_b = partners.search(cr, uid, ['|', ('category_id', 'in', [cat_a]), ('category_id', 'in', [cat_b])])
self.assertEqual(set([ab, a, b]), set(with_a_or_with_b), "Search for category_id contains cat_a or contains cat_b failed.")
+ # If we change the OR in AND...
+ with_a_and_b = partners.search(cr, uid, [('category_id', 'in', [cat_a]), ('category_id', 'in', [cat_b])])
+ self.assertEqual(set([ab]), set(with_a_and_b), "Search for category_id contains cat_a and cat_b failed.")
+
+ # Partners without category A and without category B.
without_a_or_b = partners.search(cr, uid, [('category_id', 'not in', [cat_a, cat_b])])
self.assertTrue(all(i not in without_a_or_b for i in [a, b, ab]), "Search for category_id doesn't contain cat_a or cat_b failed (1).")
self.assertTrue(c in without_a_or_b, "Search for category_id doesn't contain cat_a or cat_b failed (2).")
+ # Show that `doesn't contain list` is really `doesn't contain element and doesn't contain element`.
without_a_and_without_b = partners.search(cr, uid, [('category_id', 'not in', [cat_a]), ('category_id', 'not in', [cat_b])])
self.assertTrue(all(i not in without_a_and_without_b for i in [a, b, ab]), "Search for category_id doesn't contain cat_a and cat_b failed (1).")
self.assertTrue(c in without_a_and_without_b, "Search for category_id doesn't contain cat_a and cat_b failed (2).")
+ # We can exclude any partner containing the category A.
without_a = partners.search(cr, uid, [('category_id', 'not in', [cat_a])])
self.assertTrue(a not in without_a, "Search for category_id doesn't contain cat_a failed (1).")
self.assertTrue(ab not in without_a, "Search for category_id doesn't contain cat_a failed (2).")
self.assertTrue(set([b, c]).issubset(set(without_a)), "Search for category_id doesn't contain cat_a failed (3).")
+ # (Obviously we can do the same for cateory B.)
without_b = partners.search(cr, uid, [('category_id', 'not in', [cat_b])])
self.assertTrue(b not in without_b, "Search for category_id doesn't contain cat_b failed (1).")
self.assertTrue(ab not in without_b, "Search for category_id doesn't contain cat_b failed (2).")
self.assertTrue(set([a, c]).issubset(set(without_b)), "Search for category_id doesn't contain cat_b failed (3).")
- # We can't express the following.
+ # We can't express the following: Partners with a category different than A.
# with_any_other_than_a = ...
- # self.assertTrue(ab in with_any_other_than_a, "Search for category_id with any other than cat_a failed.")
+ # self.assertTrue(a not in with_any_other_than_a, "Search for category_id with any other than cat_a failed (1).")
+ # self.assertTrue(ab in with_any_other_than_a, "Search for category_id with any other than cat_a failed (2).")
From 08db8bbf0f015fd710e1ce79a55fb8faf143f6d5 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Fri, 26 Oct 2012 15:05:05 +0200
Subject: [PATCH 085/101] [IMP] useability
bzr revid: fp@tinyerp.com-20121026130505-7pdeq2bq3nne7h01
---
addons/web/static/src/css/base.css | 3 +++
addons/web/static/src/css/base.sass | 2 ++
2 files changed, 5 insertions(+)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index c3aac6089f0..c18c4d89581 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -1326,6 +1326,9 @@
.openerp .oe_view_manager .oe_view_manager_body {
height: inherit;
}
+.openerp .oe_view_manager .oe_view_manager_body .oe_view_manager_view_list {
+ min-height: 132px;
+}
.openerp .oe_view_manager .oe_view_manager_view_kanban {
height: inherit;
}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index cf1cd38aad2..8b24e6112ae 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -1070,6 +1070,8 @@ $sheet-max-width: 860px
.oe_view_manager
.oe_view_manager_body
height: inherit
+ .oe_view_manager_view_list
+ min-height: 132px
.oe_view_manager_view_kanban
height: inherit
From a414040f8058ccc0c61312decfff12a19fc7ce56 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Fri, 26 Oct 2012 16:37:41 +0200
Subject: [PATCH 086/101] [FIX] account visible when required
bzr revid: fp@tinyerp.com-20121026143741-8e46e34v2ngej39w
---
addons/account_voucher/voucher_sales_purchase_view.xml | 4 ++--
addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml
index 0441424cc33..bda9b9c2532 100644
--- a/addons/account_voucher/voucher_sales_purchase_view.xml
+++ b/addons/account_voucher/voucher_sales_purchase_view.xml
@@ -89,7 +89,7 @@
-
+
@@ -243,7 +243,7 @@
-
+
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
index a7e7bb6d097..c41aae4c21f 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
@@ -108,7 +108,7 @@
-
+
@@ -153,9 +153,9 @@
-
-
-
+
+
+
From 0e3f06bf4e51d304e7b40cd92d353ac9a9d03ba3 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Fri, 26 Oct 2012 16:52:22 +0200
Subject: [PATCH 087/101] fix
bzr revid: fp@tinyerp.com-20121026145222-q3k000saytdg9u2s
---
addons/web/static/src/css/base.css | 3 ---
addons/web/static/src/css/base.sass | 2 --
2 files changed, 5 deletions(-)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index c18c4d89581..c3aac6089f0 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -1326,9 +1326,6 @@
.openerp .oe_view_manager .oe_view_manager_body {
height: inherit;
}
-.openerp .oe_view_manager .oe_view_manager_body .oe_view_manager_view_list {
- min-height: 132px;
-}
.openerp .oe_view_manager .oe_view_manager_view_kanban {
height: inherit;
}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 8b24e6112ae..cf1cd38aad2 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -1070,8 +1070,6 @@ $sheet-max-width: 860px
.oe_view_manager
.oe_view_manager_body
height: inherit
- .oe_view_manager_view_list
- min-height: 132px
.oe_view_manager_view_kanban
height: inherit
From 00caf72c6c1d679935f4f1359eca83762f40adc4 Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Fri, 26 Oct 2012 17:28:50 +0200
Subject: [PATCH 088/101] [IMP] CSS
bzr revid: fp@tinyerp.com-20121026152850-bevh0selibxvsixm
---
addons/web/static/src/css/base.css | 3 +++
addons/web/static/src/css/base.sass | 3 +++
2 files changed, 6 insertions(+)
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index c3aac6089f0..cbbd8e37f6c 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -2519,6 +2519,9 @@
.openerp .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page, .openerp .oe_form_field_many2many > .oe_view_manager .oe_list_pager_single_page {
display: none !important;
}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_view_manager_view_list, .openerp .oe_form_field_many2many > .oe_view_manager .oe_view_manager_view_list {
+ min-height: 132px;
+}
.openerp .oe_form_field_one2many .oe_form_field_one2many_list_row_add, .openerp .oe_form_field_many2many .oe_form_field_one2many_list_row_add {
font-weight: bold;
}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index cf1cd38aad2..2ef9a8a451d 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -1983,6 +1983,9 @@ $sheet-max-width: 860px
> .oe_view_manager
.oe_list_pager_single_page
display: none !important
+ .oe_view_manager_view_list
+ min-height: 132px
+
.oe_form_field_one2many_list_row_add
font-weight: bold
.oe_list_content
From e6159de18f912832acffb3b5cf50537766e7df1c Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Fri, 26 Oct 2012 17:34:36 +0200
Subject: [PATCH 089/101] [IMP] useability
bzr revid: fp@tinyerp.com-20121026153436-v3y2i49iarpoknok
---
addons/sale/sale.py | 2 +-
addons/sale/sale_view.xml | 5 +----
addons/sale_margin/sale_margin_view.xml | 9 +++------
3 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 9c7f07edb25..7c77e239abb 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -202,7 +202,7 @@ class sale_order(osv.osv):
- With 'Before Delivery', a draft invoice is created, and it must be paid before delivery."""),
'pricelist_id': fields.many2one('product.pricelist', 'Pricelist', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Pricelist for current sales order."),
'currency_id': fields.related('pricelist_id', 'currency_id', type="many2one", relation="res.currency", readonly=True, required=True),
- 'project_id': fields.many2one('account.analytic.account', 'Contract/Analytic Account', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="The analytic account related to a sales order."),
+ 'project_id': fields.many2one('account.analytic.account', 'Contract / Analytic', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="The analytic account related to a sales order."),
'order_line': fields.one2many('sale.order.line', 'order_id', 'Order Lines', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
'invoice_ids': fields.many2many('account.invoice', 'sale_order_invoice_rel', 'order_id', 'invoice_id', 'Invoices', readonly=True, help="This is the list of invoices that have been generated for this sales order. The same sales order may have been invoiced in several times (by line for example)."),
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index a5d7b9d3af2..bdc687f6e87 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -286,11 +286,8 @@
-
-
-
-
+
diff --git a/addons/sale_margin/sale_margin_view.xml b/addons/sale_margin/sale_margin_view.xml
index 6aa34bae26c..88647ea3c46 100644
--- a/addons/sale_margin/sale_margin_view.xml
+++ b/addons/sale_margin/sale_margin_view.xml
@@ -7,12 +7,9 @@
sale.order
-
-
-
-
+ Use notes to organize personnal tasks or notes. All
+ notes are private; no one else will be able to see them. But
+ you can share some notes to other people by inviting followers
+ on the note. (very usefull for meeting minutes, especially if
+ you activate the pad feature for collaborative writings).
+
+ You can customize how you process your notes/tasks by adding,
+ removing or modifying columns.
+
- Click to add a personnal note.
+ Click to add a personal note.
- Use notes to organize personnal tasks or notes. All
- notes are private; no one else will be able to see them. But
- you can share some notes to other people by inviting followers
- on the note. (very usefull for meeting minutes, especially if
+ Use notes to organize personal tasks or notes. All
+ notes are private; no one else will be able to see them. However
+ you can share some notes with other people by inviting followers
+ on the note. (Useful for meeting minutes, especially if
you activate the pad feature for collaborative writings).
You can customize how you process your notes/tasks by adding,
From ff918d5b2f9a6cf6fecf48523e24b67ceecc1d6b Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Fri, 26 Oct 2012 22:13:32 +0200
Subject: [PATCH 099/101] fix
bzr revid: fp@openerp.com-20121026201332-jiujrnnxkomm58zs
---
addons/crm/crm_demo.xml | 7 -------
1 file changed, 7 deletions(-)
diff --git a/addons/crm/crm_demo.xml b/addons/crm/crm_demo.xml
index dde3e63cc4a..203193dc3bc 100644
--- a/addons/crm/crm_demo.xml
+++ b/addons/crm/crm_demo.xml
@@ -6,13 +6,6 @@
-
- Meetings
- ir.ui.menu
-
-
-
-
Sales Marketing DepartmentSMD
From 80fb0f7f8174493bcdad627f2449bbbde46c4781 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Sat, 27 Oct 2012 05:15:46 +0000
Subject: [PATCH 100/101] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20121027045930-uze98btnynog2b5r
bzr revid: launchpad_translations_on_behalf_of_openerp-20121027051546-nvi5ltrk3o8s6j4z
---
addons/account/i18n/ru.po | 478 ++++++++++++++++++++---------------
addons/board/i18n/ru.po | 14 +-
addons/mail/i18n/hu.po | 63 +++--
addons/mail/i18n/ru.po | 154 ++++++-----
addons/web/i18n/hu.po | 8 +-
addons/web_kanban/i18n/ru.po | 16 +-
6 files changed, 422 insertions(+), 311 deletions(-)
diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po
index c194906a978..82c89ea48a1 100644
--- a/addons/account/i18n/ru.po
+++ b/addons/account/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-08-17 11:07+0000\n"
+"PO-Revision-Date: 2012-10-26 09:03+0000\n"
"Last-Translator: Chertykov Denis \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-08-28 06:12+0000\n"
-"X-Generator: Launchpad (build 15864)\n"
+"X-Launchpad-Export-Date: 2012-10-27 04:59+0000\n"
+"X-Generator: Launchpad (build 16194)\n"
#. module: account
#: view:account.invoice.report:0
@@ -38,6 +38,8 @@ msgid ""
"Determine the display order in the report 'Accounting \\ Reporting \\ "
"Generic Reporting \\ Taxes \\ Taxes Report'"
msgstr ""
+"Определяет порядок вывода в отчёте 'Учет \\ Отчётность \\ Общая отчётность \\"
+" Налоги \\ Отчёт по налогам'"
#. module: account
#: view:account.move.reconcile:0
@@ -81,7 +83,7 @@ msgstr "Определение наследников"
#: code:addons/account/account_bank_statement.py:302
#, python-format
msgid "Journal item \"%s\" is not valid."
-msgstr ""
+msgstr "Недопустимый элемент журнала \"%s\""
#. module: account
#: model:ir.model,name:account.model_report_aged_receivable
@@ -118,6 +120,8 @@ msgid ""
"Configuration error! The currency chosen should be shared by the default "
"accounts too."
msgstr ""
+"Ошибка настройки! Выбранная валюта должна соответствовать валюте счетов по "
+"умолчанию."
#. module: account
#: report:account.invoice:0
@@ -141,6 +145,7 @@ msgstr "Сверить"
#: field:account.move,ref:0
#: field:account.move.line,ref:0
#: field:account.subscription,ref:0
+#: xsl:account.transfer:0
msgid "Reference"
msgstr "Ссылка"
@@ -159,16 +164,16 @@ msgstr ""
"не удаляя его."
#. module: account
-#: code:addons/account/account_invoice.py:1428
+#: code:addons/account/account_invoice.py:1430
#, python-format
msgid "Warning!"
msgstr "Предупреждение!"
#. module: account
-#: code:addons/account/account.py:3112
+#: code:addons/account/account.py:3129
#, python-format
msgid "Miscellaneous Journal"
-msgstr ""
+msgstr "Смешанный журнал"
#. module: account
#: field:account.fiscal.position.account,account_src_id:0
@@ -229,7 +234,7 @@ msgstr ""
"налога появился в счетах-фактурах"
#. module: account
-#: code:addons/account/account_invoice.py:1241
+#: code:addons/account/account_invoice.py:1254
#, python-format
msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)"
msgstr "Счет '%s' оплачивается частично: %s%s из %s%s (%s%s остаток)"
@@ -245,7 +250,7 @@ msgid "Belgian Reports"
msgstr "Бельгийские отчеты"
#. module: account
-#: code:addons/account/account_move_line.py:1200
+#: code:addons/account/account_move_line.py:1215
#, python-format
msgid "You can not add/modify entries in a closed journal."
msgstr "В не можете добавить/исправить проводки в закрытом журнале"
@@ -293,10 +298,11 @@ msgid "St."
msgstr "ул."
#. module: account
-#: code:addons/account/account_invoice.py:551
+#: code:addons/account/account_invoice.py:560
#, python-format
msgid "Invoice line account company does not match with invoice company."
msgstr ""
+"Позиция счёта-фактуры счёта компании не соответствует компании счёта-фактуры."
#. module: account
#: field:account.journal.column,field:0
@@ -344,6 +350,9 @@ msgid ""
"leave the automatic formatting, it will be computed based on the financial "
"reports hierarchy (auto-computed field 'level')."
msgstr ""
+"Здесь вы можете задать формат для вывода этой записи. Если вы оставите "
+"автоформатирование, оно будет вычислено на основе иерархии финансовых "
+"отчётов (автоподсчитанное поле 'уровень')."
#. module: account
#: view:account.installer:0
@@ -373,7 +382,7 @@ msgstr ""
#. module: account
#: constraint:account.move.line:0
msgid "You can not create journal items on an account of type view."
-msgstr ""
+msgstr "Нельзя создать элемент журнала по счету с типом вид."
#. module: account
#: model:ir.model,name:account.model_account_tax_template
@@ -547,7 +556,7 @@ msgstr "Название компании должно быть уникальн
#. module: account
#: model:ir.model,name:account.model_account_invoice_refund
msgid "Invoice Refund"
-msgstr ""
+msgstr "Возмещение по счёту-фактуре"
#. module: account
#: report:account.overdue:0
@@ -584,8 +593,10 @@ msgid "The accountant confirms the statement."
msgstr "Бухгалтер подтверждает документ."
#. module: account
+#: report:account.account.balance:0
#: selection:account.balance.report,display_account:0
#: selection:account.common.account.report,display_account:0
+#: report:account.general.ledger_landscape:0
#: selection:account.report.general.ledger,display_account:0
#: selection:account.tax,type_tax_use:0
#: selection:account.tax.template,type_tax_use:0
@@ -625,7 +636,7 @@ msgstr "Последовательности"
#: field:account.financial.report,account_report_id:0
#: selection:account.financial.report,type:0
msgid "Report Value"
-msgstr ""
+msgstr "Значение отчёта"
#. module: account
#: view:account.fiscal.position.template:0
@@ -643,10 +654,10 @@ msgid "Main Sequence must be different from current !"
msgstr "Основная нумерация должна отличаться от текущей!"
#. module: account
-#: code:addons/account/account_move_line.py:1251
+#: code:addons/account/account_move_line.py:1266
#, python-format
msgid "No period found or more than one period found for the given date."
-msgstr ""
+msgstr "Для заданной даты период не найден или найдено более одного периода."
#. module: account
#: field:account.invoice.tax,tax_amount:0
@@ -654,7 +665,7 @@ msgid "Tax Code Amount"
msgstr "Объем по коду налога"
#. module: account
-#: code:addons/account/account.py:3116
+#: code:addons/account/account.py:3133
#, python-format
msgid "SAJ"
msgstr "КнП"
@@ -681,8 +692,8 @@ msgid "Journal Period"
msgstr "Период журнала"
#. module: account
-#: code:addons/account/account_move_line.py:750
-#: code:addons/account/account_move_line.py:803
+#: code:addons/account/account_move_line.py:766
+#: code:addons/account/account_move_line.py:819
#, python-format
msgid "To reconcile the entries company should be the same for all entries"
msgstr ""
@@ -694,6 +705,8 @@ msgid ""
"The date of your Journal Entry is not in the defined period! You should "
"change the date or remove this constraint from the journal."
msgstr ""
+"Дата проводки в журнале не в определённом периоде! Вы должны сменить дату "
+"или удалить это ограничение из журнала."
#. module: account
#: model:ir.model,name:account.model_account_report_general_ledger
@@ -728,7 +741,7 @@ msgstr "Журнал продаж в этом году"
#. module: account
#: selection:account.financial.report,display_detail:0
msgid "Display children with hierarchy"
-msgstr ""
+msgstr "Показ подчинённость с иерархией"
#. module: account
#: selection:account.payment.term.line,value:0
@@ -751,7 +764,7 @@ msgstr "Аналитические проводки по строкам"
#. module: account
#: field:account.invoice.refund,filter_refund:0
msgid "Refund Method"
-msgstr ""
+msgstr "Способ возмещения"
#. module: account
#: code:addons/account/wizard/account_change_currency.py:38
@@ -760,6 +773,7 @@ msgid "You can only change currency for Draft Invoice !"
msgstr "Вы можете изменить валюту только в черновике счета !"
#. module: account
+#: model:ir.actions.report.xml,name:account.account_financial_report
#: model:ir.ui.menu,name:account.menu_account_report
msgid "Financial Report"
msgstr "Финансовый отчет"
@@ -775,12 +789,13 @@ msgstr "Финансовый отчет"
#: view:account.journal:0
#: field:account.journal,type:0
#: field:account.move.reconcile,type:0
+#: xsl:account.transfer:0
#: field:report.invoice.created,type:0
msgid "Type"
msgstr "Тип"
#. module: account
-#: code:addons/account/account_invoice.py:738
+#: code:addons/account/account_invoice.py:747
#, python-format
msgid ""
"Taxes are missing!\n"
@@ -908,12 +923,13 @@ msgid "Create 3 Months Periods"
msgstr "Создать квартальные периоды"
#. module: account
+#: report:account.aged_trial_balance:0
#: report:account.overdue:0
msgid "Due"
msgstr "Срок"
#. module: account
-#: code:addons/account/account.py:1345
+#: code:addons/account/account.py:1353
#, python-format
msgid ""
"You cannot validate this journal entry because account \"%s\" does not "
@@ -994,7 +1010,7 @@ msgstr ""
"содержать базовую сумму (без налога)"
#. module: account
-#: code:addons/account/account.py:2596
+#: code:addons/account/account.py:2613
#, python-format
msgid "I can not locate a parent code for the template account!"
msgstr ""
@@ -1027,10 +1043,10 @@ msgid "Code"
msgstr "Код"
#. module: account
-#: code:addons/account/account.py:2268
+#: code:addons/account/account.py:2285
#: code:addons/account/account_bank_statement.py:357
#: code:addons/account/account_invoice.py:73
-#: code:addons/account/account_invoice.py:688
+#: code:addons/account/account_invoice.py:697
#: code:addons/account/account_move_line.py:173
#, python-format
msgid "No Analytic Journal !"
@@ -1094,7 +1110,7 @@ msgstr ""
"информации о счете и его особенностях."
#. module: account
-#: code:addons/account/account_move_line.py:842
+#: code:addons/account/account_move_line.py:856
#, python-format
msgid ""
"You have to provide an account for the write off/exchange difference entry !"
@@ -1142,7 +1158,7 @@ msgstr ""
#. module: account
#: model:account.account.type,name:account.data_account_type_bank
#: selection:account.bank.accounts.wizard,account_type:0
-#: code:addons/account/account.py:3003
+#: code:addons/account/account.py:3020
#, python-format
msgid "Bank"
msgstr "Банковский"
@@ -1239,7 +1255,7 @@ msgid "The move of this entry line."
msgstr "Операция этой проводки"
#. module: account
-#: code:addons/account/account_move_line.py:1302
+#: code:addons/account/account_move_line.py:1317
#, python-format
msgid ""
"You can not use this general account in this journal, check the tab 'Entry "
@@ -1260,7 +1276,7 @@ msgid "Entry Label"
msgstr "Метка проводки"
#. module: account
-#: code:addons/account/account.py:1129
+#: code:addons/account/account.py:1136
#, python-format
msgid "You can not modify/delete a journal with entries for this period !"
msgstr "Вы не можете изменить/удалить журнал с записями за этот период !"
@@ -1345,14 +1361,15 @@ msgid "Taxes"
msgstr "Налоги"
#. module: account
-#: code:addons/account/wizard/account_financial_report.py:69
-#: code:addons/account/wizard/account_report_common.py:144
+#: code:addons/account/wizard/account_financial_report.py:70
+#: code:addons/account/wizard/account_report_common.py:145
#, python-format
msgid "Select a starting and an ending period"
msgstr "Выберите начало и окончание периода"
#. module: account
#: model:account.financial.report,name:account.account_financial_report_profitandloss0
+#: model:ir.actions.act_window,name:account.action_account_report_pl
msgid "Profit and Loss"
msgstr "Прибыли и убытки"
@@ -1407,6 +1424,7 @@ msgid "Journal Items Analysis"
msgstr "Анализ элементов журнала"
#. module: account
+#: report:account.aged_trial_balance:0
#: model:ir.ui.menu,name:account.next_id_22
msgid "Partners"
msgstr "Контрагенты"
@@ -1431,8 +1449,10 @@ msgid "Central Journal"
msgstr "Центральный журнал"
#. module: account
+#: report:account.account.balance:0
#: selection:account.balance.report,display_account:0
#: selection:account.common.account.report,display_account:0
+#: report:account.general.ledger_landscape:0
#: selection:account.partner.balance,display_partner:0
#: selection:account.report.general.ledger,display_account:0
msgid "With balance is not equal to 0"
@@ -1666,6 +1686,7 @@ msgid "Separated Journal Sequences"
msgstr "Раздельные нумерации журнала"
#. module: account
+#: field:account.bank.statement,user_id:0
#: view:account.invoice:0
msgid "Responsible"
msgstr "Ответственный"
@@ -1696,7 +1717,7 @@ msgid "Year Sum"
msgstr "Годовая сумма"
#. module: account
-#: code:addons/account/account_invoice.py:1429
+#: code:addons/account/account_invoice.py:1431
#, python-format
msgid ""
"You selected an Unit of Measure which is not compatible with the product."
@@ -1774,7 +1795,7 @@ msgid "Customer Ref:"
msgstr "Ссылка на клиента:"
#. module: account
-#: code:addons/account/account_cash_statement.py:292
+#: code:addons/account/account_cash_statement.py:293
#, python-format
msgid "User %s does not have rights to access %s journal !"
msgstr "Пользователь %s не имеет прав доступа к журналу %s !"
@@ -1998,7 +2019,7 @@ msgstr ""
#. module: account
#: view:account.analytic.line:0
msgid "Analytic Journal Items related to a sale journal."
-msgstr ""
+msgstr "Элементы журнала аналитика связанные с журналом продаж"
#. module: account
#: selection:account.financial.report,style_overwrite:0
@@ -2103,7 +2124,7 @@ msgid "Pro-forma"
msgstr "Проформа"
#. module: account
-#: code:addons/account/account.py:1461
+#: code:addons/account/account.py:1478
#, python-format
msgid ""
"There is no default default debit account defined \n"
@@ -2133,7 +2154,7 @@ msgid "Search Chart of Account Templates"
msgstr "Искать шаблоны планов счетов"
#. module: account
-#: code:addons/account/account_move_line.py:1277
+#: code:addons/account/account_move_line.py:1292
#, python-format
msgid ""
"Can not create an automatic sequence for this piece!\n"
@@ -2185,7 +2206,7 @@ msgid "Description"
msgstr "Описание"
#. module: account
-#: code:addons/account/account.py:3119
+#: code:addons/account/account.py:3136
#, python-format
msgid "ECNJ"
msgstr ""
@@ -2204,7 +2225,7 @@ msgid "Income Account"
msgstr "Cчёт доходов и расходов"
#. module: account
-#: code:addons/account/account_invoice.py:370
+#: code:addons/account/account_invoice.py:379
#, python-format
msgid "There is no Accounting Journal of type Sale/Purchase defined!"
msgstr "Не определен журнал покупок / продаж."
@@ -2244,6 +2265,7 @@ msgstr "Шаблон продукта"
#. module: account
#: report:account.account.balance:0
#: field:account.aged.trial.balance,fiscalyear_id:0
+#: report:account.aged_trial_balance:0
#: field:account.balance.report,fiscalyear_id:0
#: report:account.central.journal:0
#: field:account.central.journal,fiscalyear_id:0
@@ -2253,6 +2275,7 @@ msgstr "Шаблон продукта"
#: field:account.common.report,fiscalyear_id:0
#: view:account.entries.report:0
#: field:account.entries.report,fiscalyear_id:0
+#: report:account.financial.report:0
#: field:account.fiscalyear,name:0
#: report:account.general.journal:0
#: field:account.general.journal,fiscalyear_id:0
@@ -2303,7 +2326,7 @@ msgid "Account Line"
msgstr ""
#. module: account
-#: code:addons/account/account.py:1468
+#: code:addons/account/account.py:1485
#, python-format
msgid ""
"There is no default default credit account defined \n"
@@ -2336,7 +2359,7 @@ msgid "Main Sequence"
msgstr "Основная Последовательность"
#. module: account
-#: code:addons/account/account_bank_statement.py:402
+#: code:addons/account/account_bank_statement.py:403
#, python-format
msgid ""
"In order to delete a bank statement, you must first cancel it to delete "
@@ -2410,7 +2433,7 @@ msgid "Account Tax Code"
msgstr "Код налогового счёта"
#. module: account
-#: code:addons/account/account_invoice.py:572
+#: code:addons/account/account_invoice.py:581
#, python-format
msgid ""
"Can't find any account journal of %s type for this company.\n"
@@ -2502,7 +2525,7 @@ msgid "Account Model Entries"
msgstr "Проводки модели счета"
#. module: account
-#: code:addons/account/account.py:3117
+#: code:addons/account/account.py:3134
#, python-format
msgid "EXJ"
msgstr "ЖР"
@@ -2567,7 +2590,6 @@ msgid "Account move line reconcile (writeoff)"
msgstr ""
#. module: account
-#: model:account.account.type,name:account.account_type_tax
#: report:account.invoice:0
#: field:account.invoice,amount_tax:0
#: field:account.move.line,account_tax_id:0
@@ -2599,7 +2621,7 @@ msgid "Accounts"
msgstr "Счета"
#. module: account
-#: code:addons/account/account_invoice.py:369
+#: code:addons/account/account_invoice.py:378
#, python-format
msgid "Configuration Error!"
msgstr "Ошибка конфигурации!"
@@ -2721,6 +2743,7 @@ msgstr ""
#. module: account
#: view:account.aged.trial.balance:0
#: model:ir.actions.act_window,name:account.action_account_aged_balance_view
+#: model:ir.actions.report.xml,name:account.account_aged_partner_balance
#: model:ir.ui.menu,name:account.menu_aged_trial_balance
msgid "Aged Partner Balance"
msgstr "Баланс партнера по периодам"
@@ -2772,14 +2795,14 @@ msgid "This wizard will create recurring accounting entries"
msgstr "Этот мастер создаст повторяющиеся бухгалтерские проводки"
#. module: account
-#: code:addons/account/account.py:1321
+#: code:addons/account/account.py:1329
#, python-format
msgid "No sequence defined on the journal !"
msgstr "Нумерация в журнале не определена !"
#. module: account
-#: code:addons/account/account.py:2268
-#: code:addons/account/account_invoice.py:688
+#: code:addons/account/account.py:2285
+#: code:addons/account/account_invoice.py:697
#: code:addons/account/account_move_line.py:173
#, python-format
msgid "You have to define an analytic journal on the '%s' journal!"
@@ -2886,7 +2909,7 @@ msgid "Base Code Amount"
msgstr "Сумма по основному коду"
#. module: account
-#: code:addons/account/account_invoice.py:392
+#: code:addons/account/account_invoice.py:401
#, python-format
msgid ""
"You can not delete an invoice which is open or paid. We suggest you to "
@@ -2899,7 +2922,7 @@ msgid "Default Sale Tax"
msgstr "Налог с продаж по умолчанию"
#. module: account
-#: code:addons/account/account_invoice.py:1013
+#: code:addons/account/account_invoice.py:1025
#, python-format
msgid "Invoice '%s' is validated."
msgstr "Счет '%s' утвержден."
@@ -2939,7 +2962,7 @@ msgid "Fiscal Position"
msgstr "Система налогообложения"
#. module: account
-#: code:addons/account/account_invoice.py:735
+#: code:addons/account/account_invoice.py:744
#, python-format
msgid ""
"Tax base different!\n"
@@ -3093,7 +3116,7 @@ msgid "View"
msgstr "Вид"
#. module: account
-#: code:addons/account/account.py:3363
+#: code:addons/account/account.py:3380
#: code:addons/account/account_bank.py:90
#, python-format
msgid "BNK"
@@ -3287,7 +3310,7 @@ msgid "Starting Balance"
msgstr "Начальный баланс"
#. module: account
-#: code:addons/account/account_invoice.py:1332
+#: code:addons/account/account_invoice.py:1345
#, python-format
msgid "No Partner Defined !"
msgstr "Партнер не определен!"
@@ -3342,7 +3365,7 @@ msgid "Chart of Tax"
msgstr "Диаграмма налогов"
#. module: account
-#: code:addons/account/account_cash_statement.py:314
+#: code:addons/account/account_cash_statement.py:315
#, python-format
msgid "The closing balance should be the same than the computed balance!"
msgstr ""
@@ -3427,6 +3450,7 @@ msgstr ""
#. module: account
#: field:account.aged.trial.balance,period_length:0
+#: report:account.aged_trial_balance:0
msgid "Period Length (days)"
msgstr ""
@@ -3473,7 +3497,7 @@ msgid "Detail"
msgstr "Подробности"
#. module: account
-#: code:addons/account/account_invoice.py:839
+#: code:addons/account/account_invoice.py:850
#, python-format
msgid ""
"Can not create the invoice !\n"
@@ -3488,9 +3512,16 @@ msgid "VAT :"
msgstr "НДС:"
#. module: account
+#: report:account.account.balance:0
+#: report:account.aged_trial_balance:0
#: report:account.central.journal:0
+#: report:account.financial.report:0
+#: report:account.general.journal:0
#: report:account.general.ledger:0
+#: report:account.general.ledger_landscape:0
#: field:account.installer,charts:0
+#: report:account.journal.period.print:0
+#: report:account.journal.period.print.sale.purchase:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
@@ -3512,7 +3543,7 @@ msgid "Centralised counterpart"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:584
+#: code:addons/account/account_move_line.py:575
#, python-format
msgid "You can not create journal items on a \"view\" account %s %s"
msgstr ""
@@ -3539,6 +3570,7 @@ msgstr ""
#: report:account.analytic.account.journal:0
#: selection:account.balance.report,filter:0
#: field:account.bank.statement,date:0
+#: field:account.bank.statement.line,date:0
#: selection:account.central.journal,filter:0
#: selection:account.common.account.report,filter:0
#: selection:account.common.journal.report,filter:0
@@ -3566,10 +3598,17 @@ msgstr ""
#: field:account.subscription.line,date:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
+#: xsl:account.transfer:0
#: selection:account.vat.declaration,filter:0
#: selection:accounting.report,filter:0
#: selection:accounting.report,filter_cmp:0
+#: code:addons/account/report/account_general_ledger.py:305
+#: code:addons/account/report/account_general_ledger.py:308
+#: code:addons/account/report/account_journal.py:195
+#: code:addons/account/report/account_journal.py:198
+#: code:addons/account/report/common_report_header.py:97
#: field:analytic.entries.report,date:0
+#, python-format
msgid "Date"
msgstr "Дата"
@@ -3586,7 +3625,6 @@ msgstr "Не сверено"
#. module: account
#: view:account.analytic.line:0
-#: field:account.bank.statement,user_id:0
#: view:account.journal:0
#: field:account.journal,user_id:0
#: view:analytic.entries.report:0
@@ -3600,7 +3638,7 @@ msgid "Chart of Accounts Template"
msgstr "Шаблон плана счетов"
#. module: account
-#: code:addons/account/account.py:2280
+#: code:addons/account/account.py:2297
#, python-format
msgid ""
"Maturity date of entry line generated by model line '%s' of model '%s' is "
@@ -3611,7 +3649,7 @@ msgstr ""
"условии оплаты контрагента."
#. module: account
-#: code:addons/account/account_move_line.py:837
+#: code:addons/account/account_move_line.py:846
#, python-format
msgid "Some entries are already reconciled !"
msgstr "Некоторые записи уже сверены!"
@@ -3642,6 +3680,8 @@ msgstr "Бюджеты"
#: selection:account.vat.declaration,filter:0
#: selection:accounting.report,filter:0
#: selection:accounting.report,filter_cmp:0
+#: code:addons/account/report/common_report_header.py:100
+#, python-format
msgid "No Filters"
msgstr "Нет фильтров"
@@ -3725,7 +3765,7 @@ msgid "Analytic Items"
msgstr "Элементы аналитики"
#. module: account
-#: code:addons/account/account_move_line.py:1153
+#: code:addons/account/account_move_line.py:1168
#, python-format
msgid "Unable to change tax !"
msgstr "Невозможно изменить налог !"
@@ -3756,7 +3796,7 @@ msgid "Mapping"
msgstr "Соответствие"
#. module: account
-#: code:addons/account/account_invoice.py:921
+#: code:addons/account/account_invoice.py:932
#, python-format
msgid ""
"You cannot create an invoice on a centralised journal. Uncheck the "
@@ -3770,6 +3810,7 @@ msgstr ""
#: report:account.analytic.account.inverted.balance:0
#: field:account.bank.statement,name:0
#: field:account.chart.template,name:0
+#: report:account.financial.report:0
#: field:account.model.line,name:0
#: field:account.move.line,name:0
#: field:account.move.reconcile,name:0
@@ -3783,7 +3824,7 @@ msgid "Account Aged Trial balance Report"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:591
+#: code:addons/account/account_move_line.py:582
#, python-format
msgid "You can not create journal items on a closed account %s %s"
msgstr ""
@@ -4110,7 +4151,7 @@ msgid "Month"
msgstr "Месяц"
#. module: account
-#: code:addons/account/account_move_line.py:1216
+#: code:addons/account/account_move_line.py:1231
#, python-format
msgid ""
"You can not do this modification on a confirmed entry! You can just change "
@@ -4167,7 +4208,7 @@ msgid "Account Base Code"
msgstr "Основной код счёта"
#. module: account
-#: code:addons/account/account_analytic_line.py:93
+#: code:addons/account/account_analytic_line.py:91
#, python-format
msgid "There is no expense account defined for this product: \"%s\" (id:%d)"
msgstr "Счет расходов не определен для этого товара: \"%s\" (id:%d)"
@@ -4376,7 +4417,7 @@ msgid "Allow Reconciliation"
msgstr "Разрешить сверку"
#. module: account
-#: code:addons/account/account.py:1077
+#: code:addons/account/account.py:1082
#, python-format
msgid ""
"You can not modify company of this period as some journal items exists."
@@ -4410,7 +4451,7 @@ msgid "Recurring Models"
msgstr "Повторяющиеся модели"
#. module: account
-#: code:addons/account/account_move_line.py:1251
+#: code:addons/account/account_move_line.py:1266
#, python-format
msgid "Encoding error"
msgstr ""
@@ -4422,6 +4463,7 @@ msgstr "4"
#. module: account
#: view:account.invoice:0
+#: xsl:account.transfer:0
msgid "Change"
msgstr "Изменить"
@@ -4466,7 +4508,7 @@ msgid "Example"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:828
+#: code:addons/account/account_invoice.py:839
#, python-format
msgid ""
"Please verify the price of the invoice !\n"
@@ -4482,7 +4524,7 @@ msgid "Keep empty to use the income account"
msgstr "Оставьте пустым для использования доходного счета"
#. module: account
-#: code:addons/account/account.py:3299
+#: code:addons/account/account.py:3316
#, python-format
msgid "Purchase Tax %.2f%%"
msgstr ""
@@ -4510,7 +4552,7 @@ msgstr "Отображение счета"
#: selection:account.bank.statement.line,type:0
#: view:account.invoice:0
#: view:account.invoice.report:0
-#: code:addons/account/account_invoice.py:337
+#: code:addons/account/account_invoice.py:346
#, python-format
msgid "Customer"
msgstr "Заказчик"
@@ -4526,7 +4568,7 @@ msgid "Cancelled Invoice"
msgstr "Отмененный счет"
#. module: account
-#: code:addons/account/account.py:1567
+#: code:addons/account/account.py:1584
#, python-format
msgid ""
"Couldn't create move with currency different from the secondary currency of "
@@ -4583,7 +4625,7 @@ msgid "Income Account on Product Template"
msgstr "Счет доходов и расходов из шаблона ТМЦ"
#. module: account
-#: code:addons/account/account.py:3120
+#: code:addons/account/account.py:3137
#, python-format
msgid "MISC"
msgstr ""
@@ -4608,11 +4650,13 @@ msgstr "Новый учетный год"
#: view:account.invoice:0
#: view:account.tax.template:0
#: selection:account.vat.declaration,based_on:0
+#: code:addons/account/report/account_tax_report.py:68
#: model:ir.actions.act_window,name:account.act_res_partner_2_account_invoice_opened
#: model:ir.actions.act_window,name:account.action_invoice_tree
#: model:ir.actions.report.xml,name:account.account_invoices
#: view:report.invoice.created:0
#: field:res.partner,invoice_ids:0
+#, python-format
msgid "Invoices"
msgstr "Счета"
@@ -4749,26 +4793,24 @@ msgid "Journal Items"
msgstr "Элементы журнала"
#. module: account
-#: code:addons/account/account.py:1088
-#: code:addons/account/account.py:1090
-#: code:addons/account/account.py:1321
-#: code:addons/account/account.py:1563
-#: code:addons/account/account.py:1567
-#: code:addons/account/account.py:3368
-#: code:addons/account/account_move_line.py:807
-#: code:addons/account/account_move_line.py:830
-#: code:addons/account/account_move_line.py:832
-#: code:addons/account/account_move_line.py:835
-#: code:addons/account/account_move_line.py:837
+#: code:addons/account/account.py:1095
+#: code:addons/account/account.py:1097
+#: code:addons/account/account.py:1329
+#: code:addons/account/account.py:1580
+#: code:addons/account/account.py:1584
+#: code:addons/account/account.py:3385
+#: code:addons/account/account_move_line.py:823
+#: code:addons/account/account_move_line.py:843
+#: code:addons/account/account_move_line.py:846
#: code:addons/account/report/common_report_header.py:92
#: code:addons/account/wizard/account_change_currency.py:38
#: code:addons/account/wizard/account_change_currency.py:59
#: code:addons/account/wizard/account_change_currency.py:64
#: code:addons/account/wizard/account_change_currency.py:70
-#: code:addons/account/wizard/account_financial_report.py:69
+#: code:addons/account/wizard/account_financial_report.py:70
#: code:addons/account/wizard/account_move_bank_reconcile.py:49
-#: code:addons/account/wizard/account_report_common.py:144
-#: code:addons/account/wizard/account_report_common.py:150
+#: code:addons/account/wizard/account_report_common.py:145
+#: code:addons/account/wizard/account_report_common.py:151
#, python-format
msgid "Error"
msgstr "Error"
@@ -4873,7 +4915,7 @@ msgid "Beginning of Period Date"
msgstr ""
#. module: account
-#: code:addons/account/account.py:1351
+#: code:addons/account/account.py:1361
#, python-format
msgid ""
"You can not modify a posted entry of this journal !\n"
@@ -4900,7 +4942,7 @@ msgid "Child Tax Accounts"
msgstr "Счета субналогов"
#. module: account
-#: code:addons/account/account.py:1090
+#: code:addons/account/account.py:1097
#, python-format
msgid "Start period should be smaller then End period"
msgstr "Начало периода должно быть меньше, чем конец периода"
@@ -4921,6 +4963,7 @@ msgstr "Остаток по аналитике"
#. module: account
#: report:account.account.balance:0
#: field:account.aged.trial.balance,target_move:0
+#: report:account.aged_trial_balance:0
#: field:account.balance.report,target_move:0
#: report:account.central.journal:0
#: field:account.central.journal,target_move:0
@@ -4964,6 +5007,8 @@ msgstr "Тип периода"
#: view:account.invoice:0
#: field:account.invoice,payment_ids:0
#: selection:account.vat.declaration,based_on:0
+#: code:addons/account/report/account_tax_report.py:70
+#, python-format
msgid "Payments"
msgstr "Платежи"
@@ -5037,7 +5082,7 @@ msgid "Line 1:"
msgstr "Строка 1:"
#. module: account
-#: code:addons/account/account.py:1307
+#: code:addons/account/account.py:1315
#, python-format
msgid "Integrity Error !"
msgstr "Ошибка целостности!"
@@ -5070,6 +5115,7 @@ msgstr "Результат сверки"
#. module: account
#: model:account.financial.report,name:account.account_financial_report_balancesheet0
+#: model:ir.actions.act_window,name:account.action_account_report_bs
#: model:ir.ui.menu,name:account.menu_account_report_bs
msgid "Balance Sheet"
msgstr "Балансовая ведомость"
@@ -5146,6 +5192,7 @@ msgstr ""
#: view:account.move.line:0
#: field:account.tax,amount:0
#: field:account.tax.template,amount:0
+#: xsl:account.transfer:0
#: view:analytic.entries.report:0
#: field:analytic.entries.report,amount:0
msgid "Amount"
@@ -5275,7 +5322,6 @@ msgstr ""
#. module: account
#: field:account.bank.statement.line,name:0
-#: field:account.invoice,reference:0
msgid "Communication"
msgstr "Назначение"
@@ -5327,13 +5373,13 @@ msgid "End of Year Entries Journal"
msgstr "Журнал проводок конца года"
#. module: account
-#: code:addons/account/account.py:3446
+#: code:addons/account/account.py:3463
#: code:addons/account/account_bank_statement.py:338
-#: code:addons/account/account_invoice.py:427
-#: code:addons/account/account_invoice.py:527
-#: code:addons/account/account_invoice.py:542
-#: code:addons/account/account_invoice.py:550
-#: code:addons/account/account_invoice.py:572
+#: code:addons/account/account_invoice.py:436
+#: code:addons/account/account_invoice.py:536
+#: code:addons/account/account_invoice.py:551
+#: code:addons/account/account_invoice.py:559
+#: code:addons/account/account_invoice.py:581
#: code:addons/account/wizard/account_move_journal.py:63
#, python-format
msgid "Configuration Error !"
@@ -5407,7 +5453,6 @@ msgid "Customer Invoices And Refunds"
msgstr ""
#. module: account
-#: field:account.analytic.line,amount_currency:0
#: field:account.entries.report,amount_currency:0
#: field:account.model.line,amount_currency:0
#: field:account.move.line,amount_currency:0
@@ -5575,7 +5620,7 @@ msgid "Generate Opening Entries"
msgstr "Генерировать открывающие проводки"
#. module: account
-#: code:addons/account/account_move_line.py:759
+#: code:addons/account/account_move_line.py:775
#, python-format
msgid "Already Reconciled!"
msgstr "Уже сверено !"
@@ -5608,14 +5653,14 @@ msgid "Child Accounts"
msgstr "Субсчета"
#. module: account
-#: code:addons/account/account_move_line.py:1214
+#: code:addons/account/account_move_line.py:1229
#, python-format
msgid "Move name (id): %s (%s)"
msgstr ""
#. module: account
#: view:account.move.line.reconcile:0
-#: code:addons/account/account_move_line.py:857
+#: code:addons/account/account_move_line.py:871
#, python-format
msgid "Write-Off"
msgstr "Списание"
@@ -5635,7 +5680,7 @@ msgstr "Доход"
#: selection:account.bank.statement.line,type:0
#: view:account.invoice:0
#: view:account.invoice.report:0
-#: code:addons/account/account_invoice.py:339
+#: code:addons/account/account_invoice.py:348
#, python-format
msgid "Supplier"
msgstr "Поставщик"
@@ -5665,7 +5710,7 @@ msgid "Account n°"
msgstr "№ счета"
#. module: account
-#: code:addons/account/account_invoice.py:88
+#: code:addons/account/account_invoice.py:91
#, python-format
msgid "Free Reference"
msgstr "Свободная Ссылка"
@@ -5680,7 +5725,9 @@ msgstr "Оценка"
#: selection:account.common.partner.report,result_selection:0
#: selection:account.partner.balance,result_selection:0
#: selection:account.partner.ledger,result_selection:0
+#: code:addons/account/report/account_aged_partner_balance.py:376
#: code:addons/account/report/account_partner_balance.py:301
+#: code:addons/account/report/account_partner_ledger.py:399
#, python-format
msgid "Receivable and Payable Accounts"
msgstr "Счета дебиторской и кредиторской задолженности"
@@ -5784,7 +5831,7 @@ msgid "Filter by"
msgstr "Фильтровать по"
#. module: account
-#: code:addons/account/account.py:2256
+#: code:addons/account/account.py:2273
#, python-format
msgid "You have a wrong expression \"%(...)s\" in your model !"
msgstr ""
@@ -5795,8 +5842,8 @@ msgid "Entry Date"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1155
-#: code:addons/account/account_move_line.py:1238
+#: code:addons/account/account_move_line.py:1170
+#: code:addons/account/account_move_line.py:1253
#, python-format
msgid "You can not use an inactive account!"
msgstr "Нельзя использовать неактивный счет !"
@@ -5837,8 +5884,8 @@ msgid "Number of Days"
msgstr "Кол-во дней"
#. module: account
-#: code:addons/account/account_bank_statement.py:402
-#: code:addons/account/account_invoice.py:392
+#: code:addons/account/account_bank_statement.py:403
+#: code:addons/account/account_invoice.py:401
#: code:addons/account/wizard/account_period_close.py:51
#, python-format
msgid "Invalid action !"
@@ -5900,7 +5947,7 @@ msgid "Multipication factor for Base code"
msgstr ""
#. module: account
-#: code:addons/account/wizard/account_report_common.py:150
+#: code:addons/account/wizard/account_report_common.py:151
#, python-format
msgid "not implemented"
msgstr "не реализовано"
@@ -5939,6 +5986,8 @@ msgstr "Анализ проводок аналитики"
#. module: account
#: selection:account.aged.trial.balance,direction_selection:0
+#: code:addons/account/report/account_aged_partner_balance.py:381
+#, python-format
msgid "Past"
msgstr "Прошлые"
@@ -6218,6 +6267,8 @@ msgstr "Процент"
#. module: account
#: selection:account.report.general.ledger,sortby:0
+#: code:addons/account/report/account_general_ledger.py:307
+#, python-format
msgid "Journal & Partner"
msgstr "Журнал и партнер"
@@ -6227,7 +6278,7 @@ msgid "Power"
msgstr "Мощность"
#. module: account
-#: code:addons/account/account.py:3368
+#: code:addons/account/account.py:3385
#, python-format
msgid "Cannot generate an unused journal code."
msgstr ""
@@ -6267,6 +6318,7 @@ msgid "Applicable Type"
msgstr "Применимый тип"
#. module: account
+#: field:account.invoice,reference:0
#: field:account.invoice.line,invoice_id:0
msgid "Invoice Reference"
msgstr "Ссылка на счет"
@@ -6498,8 +6550,8 @@ msgid "You can not remove an account containing journal items."
msgstr ""
#. module: account
-#: code:addons/account/account_analytic_line.py:145
-#: code:addons/account/account_move_line.py:933
+#: code:addons/account/account_analytic_line.py:143
+#: code:addons/account/account_move_line.py:947
#, python-format
msgid "Entries: "
msgstr "Проводки: "
@@ -6515,7 +6567,7 @@ msgid "Currency of the related account journal."
msgstr ""
#. module: account
-#: code:addons/account/account.py:1563
+#: code:addons/account/account.py:1580
#, python-format
msgid "Couldn't create move between different companies"
msgstr "Нельзя создать перемещение между разными организациями"
@@ -6556,13 +6608,13 @@ msgstr "Состояние \"Черновик\""
#. module: account
#: view:account.move.line:0
-#: code:addons/account/account_move_line.py:1043
+#: code:addons/account/account_move_line.py:1058
#, python-format
msgid "Total debit"
msgstr "Всего по дебету"
#. module: account
-#: code:addons/account/account_move_line.py:808
+#: code:addons/account/account_move_line.py:824
#, python-format
msgid "Entry \"%s\" is not valid !"
msgstr "Проводка \"%s\" не верна !"
@@ -6636,25 +6688,26 @@ msgstr ""
#: code:addons/account/account.py:622
#: code:addons/account/account.py:624
#: code:addons/account/account.py:963
-#: code:addons/account/account.py:1052
-#: code:addons/account/account.py:1129
-#: code:addons/account/account.py:1344
-#: code:addons/account/account.py:1351
-#: code:addons/account/account.py:2280
-#: code:addons/account/account.py:2596
-#: code:addons/account/account_analytic_line.py:92
-#: code:addons/account/account_analytic_line.py:101
+#: code:addons/account/account.py:1057
+#: code:addons/account/account.py:1136
+#: code:addons/account/account.py:1352
+#: code:addons/account/account.py:1359
+#: code:addons/account/account.py:1361
+#: code:addons/account/account.py:2297
+#: code:addons/account/account.py:2613
+#: code:addons/account/account_analytic_line.py:90
+#: code:addons/account/account_analytic_line.py:99
#: code:addons/account/account_bank_statement.py:301
#: code:addons/account/account_bank_statement.py:314
#: code:addons/account/account_bank_statement.py:352
-#: code:addons/account/account_cash_statement.py:292
-#: code:addons/account/account_cash_statement.py:314
-#: code:addons/account/account_invoice.py:808
-#: code:addons/account/account_invoice.py:839
-#: code:addons/account/account_invoice.py:1030
-#: code:addons/account/account_move_line.py:1200
-#: code:addons/account/account_move_line.py:1216
-#: code:addons/account/account_move_line.py:1218
+#: code:addons/account/account_cash_statement.py:293
+#: code:addons/account/account_cash_statement.py:315
+#: code:addons/account/account_invoice.py:819
+#: code:addons/account/account_invoice.py:850
+#: code:addons/account/account_invoice.py:1042
+#: code:addons/account/account_move_line.py:1215
+#: code:addons/account/account_move_line.py:1231
+#: code:addons/account/account_move_line.py:1233
#: code:addons/account/wizard/account_invoice_refund.py:108
#: code:addons/account/wizard/account_invoice_refund.py:110
#: code:addons/account/wizard/account_open_closed_fiscalyear.py:39
@@ -6686,8 +6739,8 @@ msgid "Printed"
msgstr "Напечатан"
#. module: account
-#: code:addons/account/account_move_line.py:584
-#: code:addons/account/account_move_line.py:591
+#: code:addons/account/account_move_line.py:575
+#: code:addons/account/account_move_line.py:582
#, python-format
msgid "Error :"
msgstr ""
@@ -6746,7 +6799,7 @@ msgid "Display Ledger Report with One partner per page"
msgstr "Вывести отчет по регистру с одним партнером на странице"
#. module: account
-#: code:addons/account/account_move_line.py:1218
+#: code:addons/account/account_move_line.py:1233
#, python-format
msgid ""
"You can not do this modification on a reconciled entry! You can just change "
@@ -6906,7 +6959,7 @@ msgid "Total:"
msgstr "Всего:"
#. module: account
-#: code:addons/account/account.py:2229
+#: code:addons/account/account.py:2246
#, python-format
msgid ""
"You can specify year, month and date in the name of the model using the "
@@ -6944,7 +6997,7 @@ msgid "Taxes used in Sales"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:495
+#: code:addons/account/account_invoice.py:504
#: code:addons/account/wizard/account_invoice_refund.py:145
#, python-format
msgid "Data Insufficient !"
@@ -7012,14 +7065,14 @@ msgid "Source Document"
msgstr "Документ-источник"
#. module: account
-#: code:addons/account/account.py:1432
+#: code:addons/account/account.py:1449
#, python-format
msgid "You can not delete a posted journal entry \"%s\"!"
msgstr ""
#. module: account
#: selection:account.partner.ledger,filter:0
-#: code:addons/account/report/account_partner_ledger.py:59
+#: code:addons/account/report/account_partner_ledger.py:60
#: model:ir.actions.act_window,name:account.act_account_acount_move_line_open_unreconciled
#, python-format
msgid "Unreconciled Entries"
@@ -7119,8 +7172,8 @@ msgid "Are you sure you want to open this invoice ?"
msgstr "Вы уверены, что хотите открыть данный счет?"
#. module: account
-#: code:addons/account/account_invoice.py:528
-#: code:addons/account/account_invoice.py:543
+#: code:addons/account/account_invoice.py:537
+#: code:addons/account/account_invoice.py:552
#, python-format
msgid ""
"Can not find a chart of account, you should create one from the "
@@ -7133,7 +7186,7 @@ msgid "Opening Entries Expense Account"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:999
+#: code:addons/account/account_move_line.py:1014
#, python-format
msgid "Accounting Entries"
msgstr "Бухгалтерские проводки"
@@ -7270,7 +7323,7 @@ msgstr ""
"домена."
#. module: account
-#: code:addons/account/account.py:1088
+#: code:addons/account/account.py:1095
#, python-format
msgid "You should have chosen periods that belongs to the same company"
msgstr "Вы должны выбрать периоды принадлежащие одной компании."
@@ -7301,8 +7354,8 @@ msgid "Reporting"
msgstr "Отчетность"
#. module: account
-#: code:addons/account/account_move_line.py:759
-#: code:addons/account/account_move_line.py:842
+#: code:addons/account/account_move_line.py:775
+#: code:addons/account/account_move_line.py:856
#: code:addons/account/wizard/account_invoice_state.py:44
#: code:addons/account/wizard/account_invoice_state.py:68
#: code:addons/account/wizard/account_state_open.py:37
@@ -7393,7 +7446,7 @@ msgid "Sign on Reports"
msgstr "Знак в отчётах"
#. module: account
-#: code:addons/account/wizard/account_fiscalyear_close.py:73
+#: code:addons/account/wizard/account_fiscalyear_close.py:88
#, python-format
msgid "The periods to generate opening entries were not found"
msgstr ""
@@ -7404,7 +7457,7 @@ msgid "Root/View"
msgstr ""
#. module: account
-#: code:addons/account/account.py:3121
+#: code:addons/account/account.py:3138
#, python-format
msgid "OPEJ"
msgstr ""
@@ -7439,13 +7492,14 @@ msgid "Optional Information"
msgstr "Доп. информация"
#. module: account
-#: code:addons/account/wizard/account_fiscalyear_close.py:84
+#: code:addons/account/wizard/account_fiscalyear_close.py:100
#, python-format
msgid "The journal must have default credit and debit account"
msgstr "Журнал должен иметь дебитовый и кредитовый счет по умолчанию"
#. module: account
#: report:account.general.journal:0
+#: xsl:account.transfer:0
msgid ":"
msgstr ":"
@@ -7474,13 +7528,13 @@ msgid "Maturity Date"
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:1302
+#: code:addons/account/account_move_line.py:1317
#, python-format
msgid "Bad account !"
msgstr "Неверный счет !"
#. module: account
-#: code:addons/account/account.py:3108
+#: code:addons/account/account.py:3125
#, python-format
msgid "Sales Journal"
msgstr "Журнал продаж"
@@ -7497,7 +7551,7 @@ msgid "Invoice Tax"
msgstr "Налог по счету"
#. module: account
-#: code:addons/account/account_move_line.py:1277
+#: code:addons/account/account_move_line.py:1292
#, python-format
msgid "No piece number !"
msgstr "Нет номера части !"
@@ -7547,7 +7601,7 @@ msgstr "По"
#. module: account
#: selection:account.move.line,centralisation:0
-#: code:addons/account/account.py:1518
+#: code:addons/account/account.py:1535
#, python-format
msgid "Currency Adjustment"
msgstr ""
@@ -7595,13 +7649,15 @@ msgstr "Май"
#: selection:account.common.partner.report,result_selection:0
#: selection:account.partner.balance,result_selection:0
#: selection:account.partner.ledger,result_selection:0
+#: code:addons/account/report/account_aged_partner_balance.py:374
#: code:addons/account/report/account_partner_balance.py:299
+#: code:addons/account/report/account_partner_ledger.py:397
#, python-format
msgid "Payable Accounts"
msgstr "Кредиторская задолженность"
#. module: account
-#: code:addons/account/account_invoice.py:732
+#: code:addons/account/account_invoice.py:741
#, python-format
msgid "Global taxes defined, but they are not in invoice lines !"
msgstr ""
@@ -7645,7 +7701,7 @@ msgstr ""
#: selection:account.bank.accounts.wizard,account_type:0
#: selection:account.entries.report,type:0
#: selection:account.journal,type:0
-#: code:addons/account/account.py:3003
+#: code:addons/account/account.py:3020
#, python-format
msgid "Cash"
msgstr "Наличные"
@@ -7657,15 +7713,15 @@ msgid "Account Destination"
msgstr "Счет назначения"
#. module: account
-#: code:addons/account/account.py:1431
-#: code:addons/account/account.py:1460
-#: code:addons/account/account.py:1467
-#: code:addons/account/account_invoice.py:920
-#: code:addons/account/account_move_line.py:1104
-#: code:addons/account/wizard/account_automatic_reconcile.py:152
-#: code:addons/account/wizard/account_fiscalyear_close.py:73
-#: code:addons/account/wizard/account_fiscalyear_close.py:83
-#: code:addons/account/wizard/account_fiscalyear_close.py:86
+#: code:addons/account/account.py:1448
+#: code:addons/account/account.py:1477
+#: code:addons/account/account.py:1484
+#: code:addons/account/account_invoice.py:931
+#: code:addons/account/account_move_line.py:1119
+#: code:addons/account/wizard/account_automatic_reconcile.py:148
+#: code:addons/account/wizard/account_fiscalyear_close.py:88
+#: code:addons/account/wizard/account_fiscalyear_close.py:99
+#: code:addons/account/wizard/account_fiscalyear_close.py:102
#: code:addons/account/wizard/account_move_journal.py:165
#: code:addons/account/wizard/account_report_aged_partner_balance.py:56
#: code:addons/account/wizard/account_report_aged_partner_balance.py:58
@@ -7820,13 +7876,14 @@ msgstr "Фиксированный"
#: code:addons/account/account.py:645
#: code:addons/account/account.py:664
#: code:addons/account/account.py:787
-#: code:addons/account/account.py:1077
-#: code:addons/account/account_invoice.py:732
-#: code:addons/account/account_invoice.py:735
-#: code:addons/account/account_invoice.py:738
+#: code:addons/account/account.py:1082
+#: code:addons/account/account_invoice.py:741
+#: code:addons/account/account_invoice.py:744
+#: code:addons/account/account_invoice.py:747
#: code:addons/account/account_move_line.py:97
-#: code:addons/account/account_move_line.py:750
-#: code:addons/account/account_move_line.py:803
+#: code:addons/account/account_move_line.py:766
+#: code:addons/account/account_move_line.py:819
+#: code:addons/account/wizard/account_fiscalyear_close.py:62
#, python-format
msgid "Warning !"
msgstr "Warning !"
@@ -7878,7 +7935,7 @@ msgid "Select a currency to apply on the invoice"
msgstr "Выбрать валюту применяемую в счете"
#. module: account
-#: code:addons/account/account.py:3446
+#: code:addons/account/account.py:3463
#, python-format
msgid ""
"The bank account defined on the selected chart of accounts hasn't a code."
@@ -7891,7 +7948,7 @@ msgid "Can not %s draft/proforma/cancel invoice."
msgstr "Нельзя %s черновик/проформу/отмененный счет."
#. module: account
-#: code:addons/account/account_invoice.py:810
+#: code:addons/account/account_invoice.py:821
#, python-format
msgid "No Invoice Lines !"
msgstr "Нет позиций в счете !"
@@ -7966,7 +8023,7 @@ msgid "Deferral Method"
msgstr "Метод отсрочки"
#. module: account
-#: code:addons/account/account_invoice.py:379
+#: code:addons/account/account_invoice.py:388
#, python-format
msgid "Invoice '%s' is paid."
msgstr "Счет '%s' оплачен."
@@ -8032,7 +8089,7 @@ msgid "Associated Partner"
msgstr "Связанный контрагент"
#. module: account
-#: code:addons/account/account_invoice.py:1332
+#: code:addons/account/account_invoice.py:1345
#, python-format
msgid "You must first select a partner !"
msgstr "Сначала вы должны выбрать партнера !"
@@ -8078,7 +8135,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:428
+#: code:addons/account/account_invoice.py:437
#, python-format
msgid ""
"Can not find a chart of accounts for this company, you should create one."
@@ -8100,7 +8157,7 @@ msgid "Choose Fiscal Year"
msgstr "Закрыть отчетный год"
#. module: account
-#: code:addons/account/account.py:3111
+#: code:addons/account/account.py:3128
#, python-format
msgid "Purchase Refund Journal"
msgstr "Журнал возврата покупок"
@@ -8190,7 +8247,7 @@ msgid "Compute Code for Taxes Included Prices"
msgstr "Код расчета для цен с налогами"
#. module: account
-#: code:addons/account/account_invoice.py:1030
+#: code:addons/account/account_invoice.py:1042
#, python-format
msgid ""
"You can not cancel an invoice which is partially paid! You need to "
@@ -8320,7 +8377,7 @@ msgid "current month"
msgstr ""
#. module: account
-#: code:addons/account/account.py:1052
+#: code:addons/account/account.py:1057
#, python-format
msgid ""
"No period defined for this date: %s !\n"
@@ -8399,10 +8456,12 @@ msgstr "Журнал возвратов"
#. module: account
#: report:account.account.balance:0
#: report:account.central.journal:0
+#: report:account.financial.report:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.partner.balance:0
+#: report:account.third_party_ledger:0
msgid "Filter By"
msgstr "Фильтровать по"
@@ -8439,7 +8498,7 @@ msgid "The partner account used for this invoice."
msgstr "Бух. счет партнера будет использоваться для этого счета."
#. module: account
-#: code:addons/account/account.py:3296
+#: code:addons/account/account.py:3313
#, python-format
msgid "Tax %.2f%%"
msgstr ""
@@ -8462,7 +8521,7 @@ msgid "Payment Term Line"
msgstr "Позиция условий оплаты"
#. module: account
-#: code:addons/account/account.py:3109
+#: code:addons/account/account.py:3126
#, python-format
msgid "Purchase Journal"
msgstr "Журнал покупок"
@@ -8548,7 +8607,7 @@ msgid "Unpaid Invoices"
msgstr "Неоплаченные счета"
#. module: account
-#: code:addons/account/account_invoice.py:495
+#: code:addons/account/account_invoice.py:504
#, python-format
msgid "The payment term of supplier does not have a payment term line!"
msgstr ""
@@ -8654,7 +8713,7 @@ msgid "Keep empty for all open fiscal years"
msgstr "Оставьте пустым для всех открытых финансовых лет"
#. module: account
-#: code:addons/account/account_move_line.py:1105
+#: code:addons/account/account_move_line.py:1120
#, python-format
msgid "The account move (%s) for centralisation has been confirmed!"
msgstr ""
@@ -8668,7 +8727,7 @@ msgstr ""
"Сумма выражается в дополнительный валюте, если эта проводка мульти-валютная."
#. module: account
-#: code:addons/account/account.py:1307
+#: code:addons/account/account.py:1315
#, python-format
msgid ""
"You can not validate a non-balanced entry !\n"
@@ -8742,7 +8801,7 @@ msgid "Contact Address"
msgstr "Адрес контакта"
#. module: account
-#: code:addons/account/account.py:2256
+#: code:addons/account/account.py:2273
#, python-format
msgid "Wrong model !"
msgstr ""
@@ -8777,12 +8836,14 @@ msgstr "Договоры"
#: field:account.cashbox.line,starting_id:0
#: field:account.entries.report,reconcile_id:0
#: field:account.financial.report,balance:0
+#: field:account.financial.report,credit:0
+#: field:account.financial.report,debit:0
msgid "unknown"
msgstr "неизвестен"
#. module: account
#: field:account.fiscalyear.close,journal_id:0
-#: code:addons/account/account.py:3113
+#: code:addons/account/account.py:3130
#, python-format
msgid "Opening Entries Journal"
msgstr "Журнал проводок открытия"
@@ -8804,7 +8865,7 @@ msgstr ""
"прибылям и убыткам."
#. module: account
-#: code:addons/account/account_invoice.py:808
+#: code:addons/account/account_invoice.py:819
#, python-format
msgid "Please define sequence on the journal related to this invoice."
msgstr ""
@@ -8892,7 +8953,7 @@ msgid "Period from"
msgstr "Период с"
#. module: account
-#: code:addons/account/account.py:3110
+#: code:addons/account/account.py:3127
#, python-format
msgid "Sales Refund Journal"
msgstr "Журнал возврата продаж"
@@ -8939,7 +9000,7 @@ msgid "Purchase Tax(%)"
msgstr "Налог на покупку(%)"
#. module: account
-#: code:addons/account/account_invoice.py:810
+#: code:addons/account/account_invoice.py:821
#, python-format
msgid "Please create some invoice lines."
msgstr "Пожалуйста, создайте позиции счета"
@@ -8955,7 +9016,7 @@ msgid "Display Detail"
msgstr ""
#. module: account
-#: code:addons/account/account.py:3118
+#: code:addons/account/account.py:3135
#, python-format
msgid "SCNJ"
msgstr ""
@@ -8987,8 +9048,6 @@ msgstr "Конец периода"
#: field:account.account.template,financial_report_ids:0
#: model:ir.actions.act_window,name:account.action_account_financial_report_tree
#: model:ir.actions.act_window,name:account.action_account_report
-#: model:ir.actions.act_window,name:account.action_account_report_bs
-#: model:ir.actions.act_window,name:account.action_account_report_pl
#: model:ir.ui.menu,name:account.menu_account_reports
msgid "Financial Reports"
msgstr ""
@@ -9003,6 +9062,7 @@ msgstr ""
#: field:account.common.journal.report,period_from:0
#: field:account.common.partner.report,period_from:0
#: field:account.common.report,period_from:0
+#: report:account.financial.report:0
#: report:account.general.journal:0
#: field:account.general.journal,period_from:0
#: report:account.general.ledger:0
@@ -9023,6 +9083,7 @@ msgstr "Начало периода"
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
+#: report:account.aged_trial_balance:0
msgid "Analysis Direction"
msgstr "Направление анализа"
@@ -9042,7 +9103,7 @@ msgstr "Вид журнала"
#. module: account
#: view:account.move.line:0
-#: code:addons/account/account_move_line.py:1046
+#: code:addons/account/account_move_line.py:1061
#, python-format
msgid "Total credit"
msgstr "Всего кредит"
@@ -9107,6 +9168,7 @@ msgstr "Банковские выписки"
#: report:account.analytic.account.inverted.balance:0
#: report:account.central.journal:0
#: field:account.entries.report,balance:0
+#: report:account.financial.report:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
@@ -9182,7 +9244,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/wizard/account_automatic_reconcile.py:152
+#: code:addons/account/wizard/account_automatic_reconcile.py:148
#, python-format
msgid "You must select accounts to reconcile"
msgstr "Вы должны выбрать счета для сверки"
@@ -9204,7 +9266,6 @@ msgid ""
msgstr ""
#. module: account
-#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
msgid "Filters By"
msgstr ""
@@ -9226,7 +9287,7 @@ msgid "Move"
msgstr "Операция"
#. module: account
-#: code:addons/account/account_move_line.py:1153
+#: code:addons/account/account_move_line.py:1168
#, python-format
msgid "You can not change the tax, you should remove and recreate lines !"
msgstr ""
@@ -9285,7 +9346,7 @@ msgid "Consolidated Children"
msgstr "Субсчета"
#. module: account
-#: code:addons/account/wizard/account_fiscalyear_close.py:87
+#: code:addons/account/wizard/account_fiscalyear_close.py:103
#, python-format
msgid ""
"The journal must have centralised counterpart without the Skipping draft "
@@ -9346,6 +9407,7 @@ msgstr ""
#: field:account.common.journal.report,period_to:0
#: field:account.common.partner.report,period_to:0
#: field:account.common.report,period_to:0
+#: report:account.financial.report:0
#: report:account.general.journal:0
#: field:account.general.journal,period_to:0
#: report:account.general.ledger:0
@@ -9402,6 +9464,7 @@ msgstr "Проводка подписки"
#. module: account
#: report:account.account.balance:0
#: field:account.aged.trial.balance,date_from:0
+#: report:account.aged_trial_balance:0
#: field:account.balance.report,date_from:0
#: report:account.central.journal:0
#: field:account.central.journal,date_from:0
@@ -9409,6 +9472,7 @@ msgstr "Проводка подписки"
#: field:account.common.journal.report,date_from:0
#: field:account.common.partner.report,date_from:0
#: field:account.common.report,date_from:0
+#: report:account.financial.report:0
#: field:account.fiscalyear,date_start:0
#: report:account.general.journal:0
#: field:account.general.journal,date_from:0
@@ -9451,7 +9515,7 @@ msgid "Unreconciled"
msgstr "Не сверенные"
#. module: account
-#: code:addons/account/account_invoice.py:828
+#: code:addons/account/account_invoice.py:839
#, python-format
msgid "Bad total !"
msgstr "Плохой итог !"
@@ -9510,7 +9574,7 @@ msgid "Comparison"
msgstr ""
#. module: account
-#: code:addons/account/account_invoice.py:372
+#: code:addons/account/account_invoice.py:381
#, python-format
msgid "Unknown Error"
msgstr "Неизвестная ошибка"
@@ -9549,6 +9613,7 @@ msgstr "Утвердить операцию по счету"
#: report:account.analytic.account.inverted.balance:0
#: report:account.central.journal:0
#: field:account.entries.report,credit:0
+#: report:account.financial.report:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
@@ -9650,9 +9715,11 @@ msgstr ""
#: view:accounting.report:0
#: selection:accounting.report,filter:0
#: selection:accounting.report,filter_cmp:0
+#: code:addons/account/report/common_report_header.py:99
#: model:ir.actions.act_window,name:account.action_account_period_form
#: model:ir.ui.menu,name:account.menu_action_account_period_form
#: model:ir.ui.menu,name:account.next_id_23
+#, python-format
msgid "Periods"
msgstr "Периоды"
@@ -9817,6 +9884,7 @@ msgstr "Проведено"
#: field:account.common.journal.report,date_to:0
#: field:account.common.partner.report,date_to:0
#: field:account.common.report,date_to:0
+#: report:account.financial.report:0
#: field:account.fiscalyear,date_stop:0
#: report:account.general.journal:0
#: field:account.general.journal,date_to:0
@@ -9864,7 +9932,7 @@ msgid "No detail"
msgstr ""
#. module: account
-#: code:addons/account/account_analytic_line.py:102
+#: code:addons/account/account_analytic_line.py:100
#, python-format
msgid "There is no income account defined for this product: \"%s\" (id:%d)"
msgstr "Не определен счет доходов для ТМЦ: \"%s\" (id:%d)"
@@ -9900,6 +9968,7 @@ msgid "Verification Total"
msgstr ""
#. module: account
+#: report:account.aged_trial_balance:0
#: report:account.analytic.account.balance:0
#: report:account.analytic.account.inverted.balance:0
#: report:account.analytic.account.quantity_cost_ledger:0
@@ -9920,6 +9989,7 @@ msgstr "Журнал: Все"
#. module: account
#: field:account.account,company_id:0
+#: report:account.account.balance:0
#: field:account.aged.trial.balance,company_id:0
#: field:account.analytic.journal,company_id:0
#: field:account.balance.report,company_id:0
@@ -9934,7 +10004,9 @@ msgstr "Журнал: Все"
#: field:account.entries.report,company_id:0
#: field:account.fiscal.position,company_id:0
#: field:account.fiscalyear,company_id:0
+#: report:account.general.journal:0
#: field:account.general.journal,company_id:0
+#: report:account.general.ledger_landscape:0
#: field:account.installer,company_id:0
#: field:account.invoice,company_id:0
#: field:account.invoice.line,company_id:0
@@ -9944,6 +10016,8 @@ msgstr "Журнал: Все"
#: view:account.journal:0
#: field:account.journal,company_id:0
#: field:account.journal.period,company_id:0
+#: report:account.journal.period.print:0
+#: report:account.journal.period.print.sale.purchase:0
#: field:account.model,company_id:0
#: field:account.move,company_id:0
#: field:account.move.line,company_id:0
@@ -10103,6 +10177,7 @@ msgstr "Счет поставщика"
#: report:account.analytic.account.inverted.balance:0
#: report:account.central.journal:0
#: field:account.entries.report,debit:0
+#: report:account.financial.report:0
#: report:account.general.journal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
@@ -10136,6 +10211,8 @@ msgstr "Ошибка ! Нельзя создать рекурсивные шаб
#. module: account
#: selection:account.print.journal,sort_selection:0
+#: code:addons/account/report/account_journal.py:197
+#, python-format
msgid "Journal Entry Number"
msgstr ""
@@ -10153,7 +10230,7 @@ msgid ""
msgstr ""
#. module: account
-#: code:addons/account/account_move_line.py:832
+#: code:addons/account/account_move_line.py:843
#, python-format
msgid "Entry is already reconciled"
msgstr "Проводка уже сверена"
@@ -10189,8 +10266,10 @@ msgid ""
msgstr ""
#. module: account
+#: report:account.account.balance:0
#: selection:account.balance.report,display_account:0
#: selection:account.common.account.report,display_account:0
+#: report:account.general.ledger_landscape:0
#: selection:account.report.general.ledger,display_account:0
msgid "With movements"
msgstr "С движением"
@@ -10313,8 +10392,8 @@ msgid "Statistic Reports"
msgstr "Статистические отчеты"
#. module: account
-#: code:addons/account/account_move_line.py:1155
-#: code:addons/account/account_move_line.py:1238
+#: code:addons/account/account_move_line.py:1170
+#: code:addons/account/account_move_line.py:1253
#, python-format
msgid "Bad account!"
msgstr "Плохой счет!"
@@ -10340,7 +10419,7 @@ msgid "Accounts Mapping"
msgstr "Отображение счетов"
#. module: account
-#: code:addons/account/account_invoice.py:364
+#: code:addons/account/account_invoice.py:373
#, python-format
msgid "Invoice '%s' is waiting for validation."
msgstr "Счет '%s' ожидает утверждения."
@@ -10530,6 +10609,7 @@ msgstr "account.addtmpl.wizard"
#. module: account
#: field:account.aged.trial.balance,result_selection:0
+#: report:account.aged_trial_balance:0
#: field:account.common.partner.report,result_selection:0
#: report:account.partner.balance:0
#: field:account.partner.balance,result_selection:0
@@ -10608,6 +10688,8 @@ msgstr "Срок платежа"
#. module: account
#: selection:account.aged.trial.balance,direction_selection:0
+#: code:addons/account/report/account_aged_partner_balance.py:383
+#, python-format
msgid "Future"
msgstr "Будущие"
diff --git a/addons/board/i18n/ru.po b/addons/board/i18n/ru.po
index 4b10359bca5..5734590526c 100644
--- a/addons/board/i18n/ru.po
+++ b/addons/board/i18n/ru.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
-"PO-Revision-Date: 2010-10-30 10:01+0000\n"
-"Last-Translator: OpenERP Administrators \n"
+"PO-Revision-Date: 2012-10-26 09:05+0000\n"
+"Last-Translator: Chertykov Denis \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-19 05:20+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-27 04:59+0000\n"
+"X-Generator: Launchpad (build 16194)\n"
#. module: board
#: view:res.log.report:0
@@ -103,7 +103,7 @@ msgstr "Месячная активность на документ"
#. module: board
#: view:board.board:0
msgid "Configuration Overview"
-msgstr ""
+msgstr "Обзор конфигурации"
#. module: board
#: model:ir.actions.act_window,name:board.action_view_board_list_form
@@ -211,7 +211,7 @@ msgstr "Январь"
#. module: board
#: view:board.board:0
msgid "Users"
-msgstr ""
+msgstr "Пользователи"
#. module: board
#: selection:res.log.report,month:0
@@ -262,7 +262,7 @@ msgstr "Модель"
#. module: board
#: model:ir.actions.act_window,name:board.board_homepage_action
msgid "Home Page"
-msgstr ""
+msgstr "Домашняя страница"
#. module: board
#: model:ir.actions.act_window,name:board.action_latest_activities_tree
diff --git a/addons/mail/i18n/hu.po b/addons/mail/i18n/hu.po
index 467485a589d..86e15e751b3 100644
--- a/addons/mail/i18n/hu.po
+++ b/addons/mail/i18n/hu.po
@@ -7,21 +7,20 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-09 00:36+0000\n"
-"PO-Revision-Date: 2011-01-21 12:01+0000\n"
-"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) "
-"\n"
+"PO-Revision-Date: 2012-10-26 12:29+0000\n"
+"Last-Translator: Herczeg Péter \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-19 05:36+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-27 04:59+0000\n"
+"X-Generator: Launchpad (build 16194)\n"
#. module: mail
#: field:mail.compose.message,subtype:0 field:mail.message,subtype:0
#: field:mail.message.common,subtype:0
msgid "Message Type"
-msgstr ""
+msgstr "Üzenettípus"
#. module: mail
#: help:mail.compose.message,auto_delete:0
@@ -31,7 +30,7 @@ msgstr ""
#. module: mail
#: view:mail.message:0
msgid "Open Related Document"
-msgstr ""
+msgstr "Kapcsolódó dokumentum megnyitása"
#. module: mail
#: view:mail.message:0
@@ -57,7 +56,7 @@ msgstr "Csoportosítás..."
#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard
#: view:mail.compose.message:0
msgid "Compose Email"
-msgstr ""
+msgstr "Email írás"
#. module: mail
#: help:mail.compose.message,body_text:0 help:mail.message,body_text:0
@@ -68,7 +67,7 @@ msgstr ""
#. module: mail
#: view:mail.compose.message:0
msgid "Body"
-msgstr ""
+msgstr "Levéltörzs"
#. module: mail
#: help:mail.compose.message,email_to:0 help:mail.message,email_to:0
@@ -85,7 +84,7 @@ msgstr ""
#. module: mail
#: view:mail.message:0 selection:mail.message,state:0
msgid "Received"
-msgstr ""
+msgstr "Fogadott"
#. module: mail
#: view:mail.message:0
@@ -95,18 +94,18 @@ msgstr ""
#. module: mail
#: field:mail.message,mail_server_id:0
msgid "Outgoing mail server"
-msgstr ""
+msgstr "Kimenő levelező szerver"
#. module: mail
#: selection:mail.message,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Megszakítva"
#. module: mail
#: field:mail.compose.message,reply_to:0 field:mail.message,reply_to:0
#: field:mail.message.common,reply_to:0
msgid "Reply-To"
-msgstr ""
+msgstr "Válaszcím"
#. module: mail
#: help:mail.compose.message,body_html:0 help:mail.message,body_html:0
@@ -117,7 +116,7 @@ msgstr ""
#. module: mail
#: field:mail.compose.message,auto_delete:0 field:mail.message,auto_delete:0
msgid "Auto Delete"
-msgstr ""
+msgstr "Automatikus törlés"
#. module: mail
#: help:mail.compose.message,email_bcc:0 help:mail.message,email_bcc:0
@@ -146,37 +145,37 @@ msgstr ""
#: field:mail.compose.message,email_from:0 field:mail.message,email_from:0
#: field:mail.message.common,email_from:0
msgid "From"
-msgstr ""
+msgstr "Feladó"
#. module: mail
#: view:mail.message:0
msgid "Email message"
-msgstr ""
+msgstr "Email üzenet"
#. module: mail
#: view:mail.compose.message:0
msgid "Send"
-msgstr ""
+msgstr "Küldés"
#. module: mail
#: view:mail.message:0
msgid "Failed"
-msgstr ""
+msgstr "Sikertelen"
#. module: mail
#: view:mail.message:0 field:mail.message,state:0
msgid "State"
-msgstr ""
+msgstr "Állapot"
#. module: mail
#: view:mail.message:0
msgid "Reply"
-msgstr ""
+msgstr "Válasz"
#. module: mail
#: view:mail.message:0 selection:mail.message,state:0
msgid "Sent"
-msgstr ""
+msgstr "Elküldött"
#. module: mail
#: help:mail.compose.message,subtype:0 help:mail.message,subtype:0
@@ -189,7 +188,7 @@ msgstr ""
#. module: mail
#: view:mail.message:0
msgid "Recipients"
-msgstr ""
+msgstr "Címzettek"
#. module: mail
#: model:ir.model,name:mail.model_mail_compose_message
@@ -205,7 +204,7 @@ msgstr ""
#. module: mail
#: view:mail.message:0
msgid "Advanced"
-msgstr ""
+msgstr "Speciális"
#. module: mail
#: code:addons/mail/wizard/mail_compose_message.py:157
@@ -242,17 +241,17 @@ msgstr "Partner neve"
#. module: mail
#: view:mail.message:0
msgid "Retry"
-msgstr ""
+msgstr "Újra"
#. module: mail
#: view:mail.message:0 selection:mail.message,state:0
msgid "Outgoing"
-msgstr ""
+msgstr "Kimenő"
#. module: mail
#: view:mail.message:0
msgid "Send Now"
-msgstr ""
+msgstr "Küldés most"
#. module: mail
#: field:mail.message,partner_id:0
@@ -262,7 +261,7 @@ msgstr ""
#. module: mail
#: view:mail.message:0
msgid "User"
-msgstr ""
+msgstr "Felhasználó"
#. module: mail
#: field:mail.compose.message,date:0 field:mail.message,date:0
@@ -273,7 +272,7 @@ msgstr "Dátum"
#. module: mail
#: view:mail.message:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "Kiterjesztett szűrők…"
#. module: mail
#: code:addons/mail/wizard/mail_compose_message.py:153
@@ -290,7 +289,7 @@ msgstr ""
#. module: mail
#: field:mail.message,original:0
msgid "Original"
-msgstr ""
+msgstr "Eredeti"
#. module: mail
#: code:addons/mail/mail_thread.py:247 view:res.partner:0
@@ -341,12 +340,12 @@ msgstr ""
#. module: mail
#: view:mail.compose.message:0 view:mail.message:0
msgid "Cancel"
-msgstr ""
+msgstr "Mégsem"
#. module: mail
#: view:mail.message:0
msgid "Open"
-msgstr ""
+msgstr "Megnyitás"
#. module: mail
#: code:addons/mail/mail_thread.py:434
@@ -357,7 +356,7 @@ msgstr ""
#. module: mail
#: field:mail.message,user_id:0
msgid "Related User"
-msgstr ""
+msgstr "Kapcsolódó felhasználó"
#. module: mail
#: help:mail.compose.message,headers:0 help:mail.message,headers:0
diff --git a/addons/mail/i18n/ru.po b/addons/mail/i18n/ru.po
index d85c3660ed3..61b01489c39 100644
--- a/addons/mail/i18n/ru.po
+++ b/addons/mail/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-02-09 00:36+0000\n"
-"PO-Revision-Date: 2011-01-25 08:25+0000\n"
-"Last-Translator: Alexey Y. Fedotov \n"
+"PO-Revision-Date: 2012-10-26 17:02+0000\n"
+"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-19 05:36+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-27 04:59+0000\n"
+"X-Generator: Launchpad (build 16194)\n"
#. module: mail
#: field:mail.compose.message,subtype:0 field:mail.message,subtype:0
@@ -26,12 +26,12 @@ msgstr ""
#. module: mail
#: help:mail.compose.message,auto_delete:0
msgid "Permanently delete emails after sending"
-msgstr ""
+msgstr "Не сохранять сообщения после отправки"
#. module: mail
#: view:mail.message:0
msgid "Open Related Document"
-msgstr ""
+msgstr "Открыть связанный документ"
#. module: mail
#: view:mail.message:0
@@ -46,7 +46,7 @@ msgstr "Подробности сообщения"
#. module: mail
#: view:mail.thread:0
msgid "Communication History"
-msgstr ""
+msgstr "История общения"
#. module: mail
#: view:mail.message:0
@@ -57,24 +57,24 @@ msgstr "Объеденить по..."
#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard
#: view:mail.compose.message:0
msgid "Compose Email"
-msgstr ""
+msgstr "Написать письмо"
#. module: mail
#: help:mail.compose.message,body_text:0 help:mail.message,body_text:0
#: help:mail.message.common,body_text:0
msgid "Plain-text version of the message"
-msgstr ""
+msgstr "Простая текстовая версия сообщения"
#. module: mail
#: view:mail.compose.message:0
msgid "Body"
-msgstr ""
+msgstr "Содержимое"
#. module: mail
#: help:mail.compose.message,email_to:0 help:mail.message,email_to:0
#: help:mail.message.common,email_to:0
msgid "Message recipients"
-msgstr ""
+msgstr "Получатели сообщения"
#. module: mail
#: field:mail.compose.message,body_text:0 field:mail.message,body_text:0
@@ -85,7 +85,7 @@ msgstr ""
#. module: mail
#: view:mail.message:0 selection:mail.message,state:0
msgid "Received"
-msgstr ""
+msgstr "Получено"
#. module: mail
#: view:mail.message:0
@@ -95,40 +95,40 @@ msgstr "Цепочка"
#. module: mail
#: field:mail.message,mail_server_id:0
msgid "Outgoing mail server"
-msgstr ""
+msgstr "Сервер исходящей почты"
#. module: mail
#: selection:mail.message,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Отменено"
#. module: mail
#: field:mail.compose.message,reply_to:0 field:mail.message,reply_to:0
#: field:mail.message.common,reply_to:0
msgid "Reply-To"
-msgstr ""
+msgstr "Адрес ответа"
#. module: mail
#: help:mail.compose.message,body_html:0 help:mail.message,body_html:0
#: help:mail.message.common,body_html:0
msgid "Rich-text/HTML version of the message"
-msgstr ""
+msgstr "Форматный текст/HTML версия сообщения"
#. module: mail
#: field:mail.compose.message,auto_delete:0 field:mail.message,auto_delete:0
msgid "Auto Delete"
-msgstr ""
+msgstr "Авто удаление"
#. module: mail
#: help:mail.compose.message,email_bcc:0 help:mail.message,email_bcc:0
#: help:mail.message.common,email_bcc:0
msgid "Blind carbon copy message recipients"
-msgstr ""
+msgstr "Получатели скрытой копии сообщения"
#. module: mail
#: model:ir.model,name:mail.model_res_partner view:mail.message:0
msgid "Partner"
-msgstr "Контрагент"
+msgstr "Партнёр"
#. module: mail
#: field:mail.compose.message,subject:0 field:mail.message,subject:0
@@ -140,7 +140,7 @@ msgstr "Тема"
#: code:addons/mail/wizard/mail_compose_message.py:152
#, python-format
msgid "On %(date)s, "
-msgstr ""
+msgstr "За %(date)s, "
#. module: mail
#: field:mail.compose.message,email_from:0 field:mail.message,email_from:0
@@ -151,32 +151,32 @@ msgstr "От"
#. module: mail
#: view:mail.message:0
msgid "Email message"
-msgstr ""
+msgstr "Сообщение эл. почты"
#. module: mail
#: view:mail.compose.message:0
msgid "Send"
-msgstr ""
+msgstr "Отправить"
#. module: mail
#: view:mail.message:0
msgid "Failed"
-msgstr ""
+msgstr "Ошибка"
#. module: mail
#: view:mail.message:0 field:mail.message,state:0
msgid "State"
-msgstr ""
+msgstr "Состояние"
#. module: mail
#: view:mail.message:0
msgid "Reply"
-msgstr ""
+msgstr "Ответить"
#. module: mail
#: view:mail.message:0 selection:mail.message,state:0
msgid "Sent"
-msgstr ""
+msgstr "Отправлено"
#. module: mail
#: help:mail.compose.message,subtype:0 help:mail.message,subtype:0
@@ -185,11 +185,13 @@ msgid ""
"Type of message, usually 'html' or 'plain', used to select plaintext or rich "
"text contents accordingly"
msgstr ""
+"Тип сообщения, обычно 'html' или 'простой', используемый для выбора "
+"содержимого соответственно простого текста или форматного текста"
#. module: mail
#: view:mail.message:0
msgid "Recipients"
-msgstr ""
+msgstr "Получатели"
#. module: mail
#: model:ir.model,name:mail.model_mail_compose_message
@@ -200,18 +202,18 @@ msgstr ""
#: field:mail.compose.message,res_id:0 field:mail.message,res_id:0
#: field:mail.message.common,res_id:0
msgid "Related Document ID"
-msgstr ""
+msgstr "ID связанного документа"
#. module: mail
#: view:mail.message:0
msgid "Advanced"
-msgstr ""
+msgstr "Дополнительно"
#. module: mail
#: code:addons/mail/wizard/mail_compose_message.py:157
#, python-format
msgid "Re:"
-msgstr ""
+msgstr "Ответ:"
#. module: mail
#: field:mail.compose.message,model:0 field:mail.message,model:0
@@ -232,37 +234,37 @@ msgstr "Искать эл. почту"
#. module: mail
#: help:mail.message,original:0
msgid "Original version of the message, as it was sent on the network"
-msgstr ""
+msgstr "Оригинальная версия сообщения, как было отправлено в сеть"
#. module: mail
#: view:mail.message:0
msgid "Partner Name"
-msgstr "Имя партнера"
+msgstr "Название партнера"
#. module: mail
#: view:mail.message:0
msgid "Retry"
-msgstr ""
+msgstr "Повторить"
#. module: mail
#: view:mail.message:0 selection:mail.message,state:0
msgid "Outgoing"
-msgstr ""
+msgstr "Исходящее"
#. module: mail
#: view:mail.message:0
msgid "Send Now"
-msgstr ""
+msgstr "Отправить сейчас"
#. module: mail
#: field:mail.message,partner_id:0
msgid "Related partner"
-msgstr ""
+msgstr "Связанный партнер"
#. module: mail
#: view:mail.message:0
msgid "User"
-msgstr ""
+msgstr "Пользователь"
#. module: mail
#: field:mail.compose.message,date:0 field:mail.message,date:0
@@ -273,13 +275,13 @@ msgstr "Дата"
#. module: mail
#: view:mail.message:0
msgid "Extended Filters..."
-msgstr ""
+msgstr "Расширенные фильтры..."
#. module: mail
#: code:addons/mail/wizard/mail_compose_message.py:153
#, python-format
msgid "%(sender_name)s wrote:"
-msgstr ""
+msgstr "%(sender_name)s написал:"
#. module: mail
#: field:mail.compose.message,body_html:0 field:mail.message,body_html:0
@@ -290,7 +292,7 @@ msgstr ""
#. module: mail
#: field:mail.message,original:0
msgid "Original"
-msgstr ""
+msgstr "Оригинал"
#. module: mail
#: code:addons/mail/mail_thread.py:247 view:res.partner:0
@@ -302,13 +304,13 @@ msgstr "История"
#: field:mail.compose.message,message_id:0 field:mail.message,message_id:0
#: field:mail.message.common,message_id:0
msgid "Message-Id"
-msgstr ""
+msgstr "ID сообщения"
#. module: mail
#: view:mail.compose.message:0 field:mail.compose.message,attachment_ids:0
#: view:mail.message:0 field:mail.message,attachment_ids:0
msgid "Attachments"
-msgstr "Прикрепленные файлы"
+msgstr "Вложения"
#. module: mail
#: field:mail.compose.message,email_cc:0 field:mail.message,email_cc:0
@@ -325,7 +327,7 @@ msgstr " на "
#. module: mail
#: help:mail.message,auto_delete:0
msgid "Permanently delete this email after sending it, to save space"
-msgstr ""
+msgstr "Навсегда удалить это письмо после отправки, для экономии места"
#. module: mail
#: field:mail.compose.message,references:0 field:mail.message,references:0
@@ -341,18 +343,18 @@ msgstr "Вывести текст"
#. module: mail
#: view:mail.compose.message:0 view:mail.message:0
msgid "Cancel"
-msgstr ""
+msgstr "Отмена"
#. module: mail
#: view:mail.message:0
msgid "Open"
-msgstr ""
+msgstr "Открыть"
#. module: mail
#: code:addons/mail/mail_thread.py:434
#, python-format
msgid "[OpenERP-Forward-Failed] %s"
-msgstr ""
+msgstr "[OpenERP-Forward-Failed] %s"
#. module: mail
#: field:mail.message,user_id:0
@@ -366,11 +368,13 @@ msgid ""
"Full message headers, e.g. SMTP session headers (usually available on "
"inbound messages only)"
msgstr ""
+"Полные заголовки сообщения, т.е. заголовки сессии SMTP (обычно доступные "
+"только во входящих сообщениях)"
#. module: mail
#: view:mail.message:0
msgid "Creation Month"
-msgstr ""
+msgstr "Месяц создания"
#. module: mail
#: field:mail.compose.message,email_to:0 field:mail.message,email_to:0
@@ -387,7 +391,7 @@ msgstr "Подробности"
#: model:ir.actions.act_window,name:mail.action_view_mailgate_thread
#: view:mail.thread:0
msgid "Email Threads"
-msgstr ""
+msgstr "Цепочки эл.писем"
#. module: mail
#: help:mail.compose.message,email_from:0 help:mail.message,email_from:0
@@ -396,28 +400,30 @@ msgid ""
"Message sender, taken from user preferences. If empty, this is not a mail "
"but a message."
msgstr ""
+"Отправитель сообщения, взятый из параметров пользователя. Если пусто, то это "
+"не почта, а сообщение."
#. module: mail
#: view:mail.message:0
msgid "Body (Plain)"
-msgstr ""
+msgstr "Текст (простой)"
#. module: mail
#: code:addons/mail/wizard/mail_compose_message.py:153
#, python-format
msgid "You"
-msgstr ""
+msgstr "Вы"
#. module: mail
#: help:mail.compose.message,message_id:0 help:mail.message,message_id:0
#: help:mail.message.common,message_id:0
msgid "Message unique identifier"
-msgstr ""
+msgstr "Уникальный идентификатор сообщения"
#. module: mail
#: view:mail.message:0
msgid "Body (Rich)"
-msgstr ""
+msgstr "Текст (форматный)"
#. module: mail
#: code:addons/mail/mail_message.py:155
@@ -427,6 +433,9 @@ msgid ""
" Subject: %s \n"
"\t"
msgstr ""
+"%s написал на %s: \n"
+" Тема: %s \n"
+"\t"
#. module: mail
#: model:ir.actions.act_window,name:mail.act_res_partner_emails
@@ -456,53 +465,74 @@ msgstr "Скрытая копия"
#. module: mail
#: model:ir.model,name:mail.model_mail_message_common
msgid "mail.message.common"
-msgstr ""
+msgstr "mail.message.common"
#. module: mail
#: help:mail.compose.message,references:0 help:mail.message,references:0
#: help:mail.message.common,references:0
msgid "Message references, such as identifiers of previous messages"
-msgstr ""
+msgstr "Ссылки сообщения, такие как идентификаторы предыдущих сообщений"
#. module: mail
#: constraint:res.partner:0
msgid "Error ! You cannot create recursive associated members."
-msgstr ""
+msgstr "Ошибка! Вы не можете создавать рекурсивные ссылки на участников."
#. module: mail
#: help:mail.compose.message,email_cc:0 help:mail.message,email_cc:0
#: help:mail.message.common,email_cc:0
msgid "Carbon copy message recipients"
-msgstr ""
+msgstr "Получатели скрытой копии сообщения"
#. module: mail
#: selection:mail.message,state:0
msgid "Delivery Failed"
-msgstr ""
+msgstr "Доставка не удалась"
#. module: mail
#: model:ir.model,name:mail.model_mail_message
msgid "Email Message"
-msgstr ""
+msgstr "Сообщение эл.почты"
#. module: mail
#: model:ir.model,name:mail.model_mail_thread view:mail.thread:0
msgid "Email Thread"
-msgstr ""
+msgstr "Цепочка эл.почты"
#. module: mail
#: field:mail.compose.message,filter_id:0
msgid "Filters"
-msgstr ""
+msgstr "Фильтры"
#. module: mail
#: code:addons/mail/mail_thread.py:220
#, python-format
msgid "Mail attachment"
-msgstr ""
+msgstr "Почтовое вложение"
#. module: mail
#: help:mail.compose.message,reply_to:0 help:mail.message,reply_to:0
#: help:mail.message.common,reply_to:0
msgid "Preferred response address for the message"
-msgstr ""
+msgstr "Предпочтительный адрес ответа для сообщения"
+
+#~ msgid "Message type"
+#~ msgstr "Тип сообщения"
+
+#~ msgid "Text contents"
+#~ msgstr "Текстовое содержимое"
+
+#~ msgid "Related Document model"
+#~ msgstr "Модель связанного документа"
+
+#~ msgid "E-mail composition wizard"
+#~ msgstr "Мастер создания электронной почты"
+
+#~ msgid "Rich-text contents"
+#~ msgstr "Форматное текстовое сообщение"
+
+#~ msgid "Related user"
+#~ msgstr "Связанный пользователь"
+
+#~ msgid "Message headers"
+#~ msgstr "Заголовки сообщения"
diff --git a/addons/web/i18n/hu.po b/addons/web/i18n/hu.po
index 2e6f36cb2cf..cea5493c029 100644
--- a/addons/web/i18n/hu.po
+++ b/addons/web/i18n/hu.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
-"PO-Revision-Date: 2012-08-24 09:16+0000\n"
+"PO-Revision-Date: 2012-10-26 12:17+0000\n"
"Last-Translator: Herczeg Péter \n"
"Language-Team: Hungarian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-21 05:02+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-27 05:15+0000\n"
+"X-Generator: Launchpad (build 16194)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
@@ -755,7 +755,7 @@ msgstr "Választani kell legalább egy rekordot!"
#. openerp-web
#: addons/web/static/src/js/views.js:875
msgid "Uploading..."
-msgstr ""
+msgstr "Feltöltés"
#. openerp-web
#: addons/web/static/src/js/views.js:885
diff --git a/addons/web_kanban/i18n/ru.po b/addons/web_kanban/i18n/ru.po
index f8e2f6454d6..a30f7c53997 100644
--- a/addons/web_kanban/i18n/ru.po
+++ b/addons/web_kanban/i18n/ru.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
-"PO-Revision-Date: 2012-02-17 07:42+0000\n"
-"Last-Translator: Aleksei Motsik \n"
+"PO-Revision-Date: 2012-10-26 09:02+0000\n"
+"Last-Translator: Chertykov Denis \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-10-21 05:03+0000\n"
-"X-Generator: Launchpad (build 16165)\n"
+"X-Launchpad-Export-Date: 2012-10-27 05:15+0000\n"
+"X-Generator: Launchpad (build 16194)\n"
#. openerp-web
#: addons/web_kanban/static/src/js/kanban.js:10
@@ -35,7 +35,7 @@ msgstr "Вы действительно хотите удалить эту за
#. openerp-web
#: addons/web_kanban/static/src/js/kanban.js:839
msgid "Create: "
-msgstr ""
+msgstr "Создать: "
#. openerp-web
#: addons/web_kanban/static/src/xml/web_kanban.xml:41
@@ -50,17 +50,17 @@ msgstr "осталось)"
#. openerp-web
#: addons/web_kanban/static/src/xml/web_kanban.xml:71
msgid "Add"
-msgstr ""
+msgstr "Добавить"
#. openerp-web
#: addons/web_kanban/static/src/xml/web_kanban.xml:71
msgid "or"
-msgstr ""
+msgstr "или"
#. openerp-web
#: addons/web_kanban/static/src/xml/web_kanban.xml:72
msgid "Cancel"
-msgstr ""
+msgstr "Отмена"
#~ msgid "Create"
#~ msgstr "Создать"
From 59dec931a2dbfb76279699f9a2488b9470598ccb Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Sun, 28 Oct 2012 09:28:29 +0100
Subject: [PATCH 101/101] [IMP] useability of project and contracts
bzr revid: fp@openerp.com-20121028082829-ito7d71piwc4iael
---
.../account_analytic_analysis_view.xml | 72 ++++++++++---------
.../static/src/css/analytic.css | 6 +-
.../static/src/css/analytic.sass | 5 +-
addons/analytic/analytic_view.xml | 2 +-
.../analytic_contract_hr_expense_view.xml | 25 ++++---
addons/project/project_view.xml | 4 +-
6 files changed, 68 insertions(+), 46 deletions(-)
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
index b1ef852f12f..7678dc59f75 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
@@ -30,18 +30,18 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
@@ -51,23 +51,28 @@
-
-
-
+
+
+
+ or view
+
+
+
+ No order to invoice, view
+
+ />