From dae3189fda270bfb39ab66b1f55cb5a09c85d90f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= <> Date: Tue, 17 May 2011 15:01:01 +0530 Subject: [PATCH 01/34] [FIX] account: Add company column in taxes list lp bug: https://launchpad.net/bugs/782293 fixed bzr revid: ara@tinyerp.com-20110517093101-sp07bvmf6xno9rjf --- addons/account/account_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index e0a355c35bf..a9904dcf25b 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -897,6 +897,7 @@ + From d3d1065fc83d29e7f11e50d343f61dcfcefc7678 Mon Sep 17 00:00:00 2001 From: "ARA (OpenERP)" Date: Thu, 19 May 2011 10:46:07 +0530 Subject: [PATCH 02/34] [FIX] account: Add company column in taxes list bzr revid: ara@tinyerp.com-20110519051607-e5eyjbuhdsrkslvb --- addons/account/account_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index a9904dcf25b..d3d54a51918 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -910,6 +910,7 @@ + From 25fc84728e1f4e1034ae9b79d6876a06cf327ac7 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Wed, 8 Jun 2011 12:58:32 +0530 Subject: [PATCH 03/34] [FIX] account: Fixed issue of 'balance' type tax using chart of accounts. lp bug: https://launchpad.net/bugs/789658 fixed bzr revid: uco@tinyerp.com-20110608072832-dg68dfnsvnzz58vm --- addons/account/account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account.py b/addons/account/account.py index f6dd36c01fc..07ff993694a 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2473,7 +2473,7 @@ class account_tax_template(osv.osv): 'name': fields.char('Tax Name', size=64, required=True), 'sequence': fields.integer('Sequence', required=True, help="The sequence field is used to order the taxes lines from lower sequences to higher ones. The order is important if you have a tax that has several tax children. In this case, the evaluation order is important."), 'amount': fields.float('Amount', required=True, digits=(14,4), help="For Tax Type percent enter % ratio between 0-1."), - 'type': fields.selection( [('percent','Percent'), ('fixed','Fixed'), ('none','None'), ('code','Python Code')], 'Tax Type', required=True), + 'type': fields.selection( [('percent','Percent'), ('fixed','Fixed'), ('none','None'), ('code','Python Code'), ('balance','Balance')], 'Tax Type', required=True), 'applicable_type': fields.selection( [('true','True'), ('code','Python Code')], 'Applicable Type', required=True, help="If not applicable (computed through a Python code), the tax won't appear on the invoice."), 'domain':fields.char('Domain', size=32, help="This field is only used if you develop your own module allowing developers to create specific taxes in a custom domain."), 'account_collected_id':fields.many2one('account.account.template', 'Invoice Tax Account'), From 05120d4d1037b0b1a06817471126a12eebe53a24 Mon Sep 17 00:00:00 2001 From: mtr Date: Thu, 16 Jun 2011 19:05:49 +0530 Subject: [PATCH 04/34] [FIX] sale:-renamed the label 'Shipped Qty'=> 'Shipped' on Sales Analysis lp bug: https://launchpad.net/bugs/797715 fixed bzr revid: mtr@mtr-20110616133549-pndpm5m4w1j98axc --- addons/sale/report/sale_report.py | 2 +- addons/sale/report/sale_report_view.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/sale/report/sale_report.py b/addons/sale/report/sale_report.py index aaaec228d7b..e4f917ba063 100644 --- a/addons/sale/report/sale_report.py +++ b/addons/sale/report/sale_report.py @@ -31,7 +31,7 @@ class sale_report(osv.osv): 'date': fields.date('Date Order', readonly=True), 'date_confirm': fields.date('Date Confirm', readonly=True), 'shipped': fields.boolean('Shipped', readonly=True), - 'shipped_qty_1': fields.integer('Shipped Qty', readonly=True), + 'shipped_qty_1': fields.integer('Shipped', readonly=True), 'year': fields.char('Year', size=4, readonly=True), 'month': fields.selection([('01', 'January'), ('02', 'February'), ('03', 'March'), ('04', 'April'), ('05', 'May'), ('06', 'June'), ('07', 'July'), ('08', 'August'), ('09', 'September'), diff --git a/addons/sale/report/sale_report_view.xml b/addons/sale/report/sale_report_view.xml index 41cdecee0ea..c62510e9ab6 100644 --- a/addons/sale/report/sale_report_view.xml +++ b/addons/sale/report/sale_report_view.xml @@ -21,7 +21,7 @@ - + From b0f06f7e52c8587290bed055e62f5e6efa26ec04 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:02:28 +0300 Subject: [PATCH 05/34] orm, tools, addons: Doc strings improvements bzr revid: xrg@linux.gr-20110623090228-4gn6xoyykcvfhv13 --- openerp/osv/fields.py | 40 ++++++++++++++++-------- openerp/osv/orm.py | 71 +++++++++++++++++++++++++++---------------- openerp/tools/misc.py | 64 +++++++++++++++++++++----------------- 3 files changed, 109 insertions(+), 66 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index f55e4b9c027..54d1d1dae6b 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -19,18 +19,19 @@ # ############################################################################## -# . Fields: -# - simple -# - relations (one2many, many2one, many2many) -# - function -# -# Fields Attributes: -# _classic_read: is a classic sql fields -# _type : field type -# readonly -# required -# size -# +""" Fields: + - simple + - relations (one2many, many2one, many2many) + - function + + Fields Attributes: + * _classic_read: is a classic sql fields + * _type : field type + * readonly + * required + * size +""" + import datetime as DT import string import sys @@ -51,6 +52,12 @@ def _symbol_set(symb): class _column(object): + """ Base of all fields, a database column + + An instance of this object is a *description* of a database column. It will + not hold any data, but only provide the methods to manipulate data of an + ORM record or even prepare/update the database to hold such a field of data. + """ _classic_read = True _classic_write = True _prefetch = True @@ -855,6 +862,15 @@ class function(_column): # --------------------------------------------------------- class related(function): + """Field that points to some data inside another field of the current record. + + Example:: + + _columns = { + 'foo_id': fields.many2one('my.foo', 'Foo'), + 'bar': fields.related('frol', 'foo_id', type='char', string='Frol of Foo'), + } + """ def _fnct_search(self, tobj, cr, uid, obj=None, name=None, domain=None, context=None): self._field_get2(cr, uid, obj, context) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 4141176fc5b..9578a4d356b 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -19,24 +19,25 @@ # ############################################################################## -# -# Object relationnal mapping to postgresql module -# . Hierarchical structure -# . Constraints consistency, validations -# . Object meta Data depends on its status -# . Optimised processing by complex query (multiple actions at once) -# . Default fields value -# . Permissions optimisation -# . Persistant object: DB postgresql -# . Datas conversions -# . Multi-level caching system -# . 2 different inheritancies -# . Fields: -# - classicals (varchar, integer, boolean, ...) -# - relations (one2many, many2one, many2many) -# - functions -# -# +""" + Object relational mapping to database (postgresql) module + * Hierarchical structure + * Constraints consistency, validations + * Object meta Data depends on its status + * Optimised processing by complex query (multiple actions at once) + * Default fields value + * Permissions optimisation + * Persistant object: DB postgresql + * Datas conversions + * Multi-level caching system + * 2 different inheritancies + * Fields: + - classicals (varchar, integer, boolean, ...) + - relations (one2many, many2one, many2many) + - functions + +""" + import calendar import copy import datetime @@ -123,8 +124,9 @@ class except_orm(Exception): class BrowseRecordError(Exception): pass -# Readonly python database object browser class browse_null(object): + """ Readonly python database object browser + """ def __init__(self): self.id = False @@ -152,6 +154,11 @@ class browse_null(object): # TODO: execute an object method on browse_record_list # class browse_record_list(list): + """ Collection of browse objects + + Such an instance will be returned when doing a ``browse([ids..])`` + and will be iterable, yielding browse() objects + """ def __init__(self, lst, context=None): if not context: @@ -161,13 +168,25 @@ class browse_record_list(list): class browse_record(object): + """ An object that behaves like a row of an object's table. + It has attributes after the columns of the corresponding object. + + Examples:: + + uobj = pool.get('res.users') + user_rec = uobj.browse(cr, uid, 104) + name = user_rec.name + """ logger = netsvc.Logger() def __init__(self, cr, uid, id, table, cache, context=None, list_class=None, fields_process=None): - ''' - table : the object (inherited from orm) - context : dictionary with an optional context - ''' + """ + @param cache a dictionary of model->field->data to be shared accross browse + objects, thus reducing the SQL read()s . It can speed up things a lot, + but also be disastrous if not discarded after write()/unlink() operations + @param table the object (inherited from orm) + @param context dictionary with an optional context + """ if fields_process is None: fields_process = {} if context is None: @@ -361,10 +380,10 @@ class browse_record(object): def get_pg_type(f): - ''' + """ returns a tuple (type returned by postgres when the column was created, type expression to create the column) - ''' + """ type_dict = { fields.boolean: 'bool', @@ -725,7 +744,7 @@ class orm_template(object): :param cr: database cursor :param user: current user id - :param select: id or list of ids + :param select: id or list of ids. :param context: context arguments, like lang, time zone :rtype: object or list of objects requested diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index 4167befd42d..a79bbb0cf49 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -124,16 +124,18 @@ def exec_command_pipe(name, *args): def file_open(name, mode="r", subdir='addons', pathinfo=False): """Open a file from the OpenERP root, using a subdir folder. + Example:: + >>> file_open('hr/report/timesheer.xsl') >>> file_open('addons/hr/report/timesheet.xsl') >>> file_open('../../base/report/rml_template.xsl', subdir='addons/hr/report', pathinfo=True) - @param name: name of the file - @param mode: file open mode - @param subdir: subdirectory - @param pathinfo: if True returns tupple (fileobject, filepath) + @param name name of the file + @param mode file open mode + @param subdir subdirectory + @param pathinfo if True returns tupple (fileobject, filepath) - @return: fileobject if pathinfo is False else (fileobject, filepath) + @return fileobject if pathinfo is False else (fileobject, filepath) """ import openerp.modules as addons adps = addons.module.ad_paths @@ -217,7 +219,7 @@ def flatten(list): """Flatten a list of elements into a uniqu list Author: Christophe Simonis (christophe@tinyerp.com) - Examples: + Examples:: >>> flatten(['a']) ['a'] >>> flatten('b') @@ -246,6 +248,8 @@ def flatten(list): def reverse_enumerate(l): """Like enumerate but in the other sens + + Usage:: >>> a = ['a', 'b', 'c'] >>> it = reverse_enumerate(a) >>> it.next() @@ -285,16 +289,14 @@ priorities = { } def html2plaintext(html, body_id=None, encoding='utf-8'): + """ From an HTML text, convert the HTML to plain text. + If @param body_id is provided then this is the tag where the + body (not necessarily ) starts. + """ ## (c) Fry-IT, www.fry-it.com, 2007 ## ## download here: http://www.peterbe.com/plog/html2plaintext - - """ from an HTML text, convert the HTML to plain text. - If @body_id is provided then this is the tag where the - body (not necessarily ) starts. - """ - html = ustr(html) from lxml.etree import tostring @@ -351,14 +353,16 @@ def html2plaintext(html, body_id=None, encoding='utf-8'): return html def generate_tracking_message_id(openobject_id): - """Returns a string that can be used in the Message-ID RFC822 header field so we - can track the replies related to a given object thanks to the "In-Reply-To" or - "References" fields that Mail User Agents will set. + """Returns a string that can be used in the Message-ID RFC822 header field + + Used to track the replies related to a given object thanks to the "In-Reply-To" + or "References" fields that Mail User Agents will set. """ return "<%s-openobject-%s@%s>" % (time.time(), openobject_id, socket.gethostname()) def _email_send(smtp_from, smtp_to_list, message, openobject_id=None, ssl=False, debug=False): - """Low-level method to send directly a Message through the configured smtp server. + """ Low-level method to send directly a Message through the configured smtp server. + :param smtp_from: RFC-822 envelope FROM (not displayed to recipient) :param smtp_to_list: RFC-822 envelope RCPT_TOs (not displayed to recipient) :param message: an email.message.Message to send @@ -427,17 +431,16 @@ def email_send(email_from, email_to, subject, body, email_cc=None, email_bcc=Non """Send an email. - Arguments: - - `email_from`: A string used to fill the `From` header, if falsy, + @param email_from A string used to fill the `From` header, if falsy, config['email_from'] is used instead. Also used for the `Reply-To` header if `reply_to` is not provided - `email_to`: a sequence of addresses to send the mail to. + @param email_to a sequence of addresses to send the mail to. """ if x_headers is None: x_headers = {} + if not (email_from or config['email_from']): raise ValueError("Sending an email requires either providing a sender " @@ -507,10 +510,9 @@ def sms_send(user, password, api_id, text, to): # FIXME: Use the logger if there is an error return True -#--------------------------------------------------------- -# Class that stores an updateable string (used in wizards) -#--------------------------------------------------------- class UpdateableStr(local): + """ Class that stores an updateable string (used in wizards) + """ def __init__(self, string=''): self.string = string @@ -526,7 +528,8 @@ class UpdateableStr(local): class UpdateableDict(local): - '''Stores an updateable dict to use in wizards''' + """Stores an updateable dict to use in wizards + """ def __init__(self, dict=None): if dict is None: @@ -624,8 +627,13 @@ class UpdateableDict(local): return self.dict.__ne__(y) -# Don't use ! Use res.currency.round() class currency(float): + """ Deprecate + + .. warning:: + + Don't use ! Use res.currency.round() + """ def __init__(self, value, accuracy=2, rounding=None): if rounding is None: @@ -1168,7 +1176,7 @@ def detect_ip_addr(): # times. def get_win32_timezone(): """Attempt to return the "standard name" of the current timezone on a win32 system. - @return: the standard name of the current win32 timezone, or False if it cannot be found. + @return the standard name of the current win32 timezone, or False if it cannot be found. """ res = False if (sys.platform == "win32"): @@ -1186,7 +1194,7 @@ def get_win32_timezone(): def detect_server_timezone(): """Attempt to detect the timezone to use on the server side. Defaults to UTC if no working timezone can be found. - @return: the timezone identifier as expected by pytz.timezone. + @return the timezone identifier as expected by pytz.timezone. """ try: import pytz @@ -1312,7 +1320,7 @@ def server_to_local_timestamp(src_tstamp_str, src_format, dst_format, dst_tz_nam @param ignore_unparsable_time: if True, return False if src_tstamp_str cannot be parsed using src_format or formatted using dst_format. - @return: local/client formatted timestamp, expressed in the local/client timezone if possible + @return local/client formatted timestamp, expressed in the local/client timezone if possible and if tz_offset is true, or src_tstamp_str if timezone offset could not be determined. """ if not src_tstamp_str: From 732a395a4bc196894f8c4d54b51077d86da081ff Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:03:11 +0300 Subject: [PATCH 06/34] amount-to-text: docstrings bzr revid: xrg@linux.gr-20110623090311-1w881l56hdl811y4 --- openerp/tools/amount_to_text.py | 33 +++++++++++++++++++----------- openerp/tools/amount_to_text_en.py | 20 ++++++++++-------- 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/openerp/tools/amount_to_text.py b/openerp/tools/amount_to_text.py index 0b626af8a7a..331640a2c28 100644 --- a/openerp/tools/amount_to_text.py +++ b/openerp/tools/amount_to_text.py @@ -34,8 +34,9 @@ denom_fr = ( '', 'Décillion', 'Undecillion', 'Duodecillion', 'Tredecillion', 'Quattuordecillion', 'Sexdecillion', 'Septendecillion', 'Octodecillion', 'Icosillion', 'Vigintillion' ) -# convert a value < 100 to French. def _convert_nn_fr(val): + """ convert a value < 100 to French + """ if val < 20: return to_19_fr[val] for (dcap, dval) in ((k, 20 + (10 * v)) for (v, k) in enumerate(tens_fr)): @@ -44,10 +45,13 @@ def _convert_nn_fr(val): return dcap + '-' + to_19_fr[val % 10] return dcap -# convert a value < 1000 to french, special cased because it is the level that kicks -# off the < 100 special case. The rest are more general. This also allows you to -# get strings in the form of 'forty-five hundred' if called directly. def _convert_nnn_fr(val): + """ convert a value < 1000 to french + + special cased because it is the level that kicks + off the < 100 special case. The rest are more general. This also allows you to + get strings in the form of 'forty-five hundred' if called directly. + """ word = '' (mod, rem) = (val % 100, val // 100) if rem > 0: @@ -98,8 +102,9 @@ denom_nl = ( '', 'Decillion', 'Undecillion', 'Duodecillion', 'Tredecillion', 'Quattuordecillion', 'Sexdecillion', 'Septendecillion', 'Octodecillion', 'Novemdecillion', 'Vigintillion' ) -# convert a value < 100 to Dutch. def _convert_nn_nl(val): + """ convert a value < 100 to Dutch + """ if val < 20: return to_19_nl[val] for (dcap, dval) in ((k, 20 + (10 * v)) for (v, k) in enumerate(tens_nl)): @@ -108,10 +113,13 @@ def _convert_nn_nl(val): return dcap + '-' + to_19_nl[val % 10] return dcap -# convert a value < 1000 to Dutch, special cased because it is the level that kicks -# off the < 100 special case. The rest are more general. This also allows you to -# get strings in the form of 'forty-five hundred' if called directly. def _convert_nnn_nl(val): + """ convert a value < 1000 to Dutch + + special cased because it is the level that kicks + off the < 100 special case. The rest are more general. This also allows you to + get strings in the form of 'forty-five hundred' if called directly. + """ word = '' (mod, rem) = (val % 100, val // 100) if rem > 0: @@ -160,10 +168,11 @@ def add_amount_to_text_function(lang, func): #TODO: we should use the country AND language (ex: septante VS soixante dix) #TODO: we should use en by default, but the translation func is yet to be implemented def amount_to_text(nbr, lang='fr', currency='euro'): - """ - Converts an integer to its textual representation, using the language set in the context if any. - Example: - 1654: mille six cent cinquante-quatre. + """ Converts an integer to its textual representation, using the language set in the context if any. + + Example:: + + 1654: mille six cent cinquante-quatre. """ # if nbr > 1000000: ##TODO: use logger diff --git a/openerp/tools/amount_to_text_en.py b/openerp/tools/amount_to_text_en.py index 77d18cbb55d..914794118aa 100644 --- a/openerp/tools/amount_to_text_en.py +++ b/openerp/tools/amount_to_text_en.py @@ -34,8 +34,9 @@ denom = ( '', 'Decillion', 'Undecillion', 'Duodecillion', 'Tredecillion', 'Quattuordecillion', 'Sexdecillion', 'Septendecillion', 'Octodecillion', 'Novemdecillion', 'Vigintillion' ) -# convert a value < 100 to English. def _convert_nn(val): + """convert a value < 100 to English. + """ if val < 20: return to_19[val] for (dcap, dval) in ((k, 20 + (10 * v)) for (v, k) in enumerate(tens)): @@ -44,10 +45,12 @@ def _convert_nn(val): return dcap + '-' + to_19[val % 10] return dcap -# convert a value < 1000 to english, special cased because it is the level that kicks -# off the < 100 special case. The rest are more general. This also allows you to -# get strings in the form of 'forty-five hundred' if called directly. def _convert_nnn(val): + """ + convert a value < 1000 to english, special cased because it is the level that kicks + off the < 100 special case. The rest are more general. This also allows you to + get strings in the form of 'forty-five hundred' if called directly. + """ word = '' (mod, rem) = (val % 100, val // 100) if rem > 0: @@ -94,10 +97,11 @@ _translate_funcs = {'en' : amount_to_text} #TODO: we should use the country AND language (ex: septante VS soixante dix) #TODO: we should use en by default, but the translation func is yet to be implemented def amount_to_text(nbr, lang='en', currency='euro'): - """ - Converts an integer to its textual representation, using the language set in the context if any. - Example: - 1654: thousands six cent cinquante-quatre. + """ Converts an integer to its textual representation, using the language set in the context if any. + + Example:: + + 1654: thousands six cent cinquante-quatre. """ import openerp.loglevels as loglevels # if nbr > 10000000: From 803d5c4c78beac2d45bb725d709f8810ebdda1ae Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:03:11 +0300 Subject: [PATCH 07/34] tools.func: docstrings bzr revid: xrg@linux.gr-20110623090311-dbez41ijva3lwri9 --- openerp/tools/func.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openerp/tools/func.py b/openerp/tools/func.py index 4150b3e688b..03463678ffb 100644 --- a/openerp/tools/func.py +++ b/openerp/tools/func.py @@ -30,6 +30,10 @@ except ImportError: # http://svn.python.org/view/python/tags/r254/Lib/functools.py?view=markup def partial(fun, *args, **kwargs): + """ Partial implementation + + See: http://svn.python.org/view/python/tags/r254/Lib/functools.py + """ def _partial(*args2, **kwargs2): return fun(*(args+args2), **dict(kwargs, **kwargs2)) return _partial From a3beae41e464e92d73aedf2bd02e5ff286a4bb76 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:03:11 +0300 Subject: [PATCH 08/34] tools.graph: cleanup docstrings bzr revid: xrg@linux.gr-20110623090311-ntqxz67t23n58igo --- openerp/tools/graph.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/openerp/tools/graph.py b/openerp/tools/graph.py index 7f85bf1ba35..df3fb39ef47 100755 --- a/openerp/tools/graph.py +++ b/openerp/tools/graph.py @@ -25,11 +25,11 @@ import math class graph(object): def __init__(self, nodes, transitions, no_ancester=None): - """Initailize graph's object + """Initialize graph's object - @param nodes: list of ids of nodes in the graph - @param transitions: list of edges in the graph in the form (source_node, destination_node) - @param no_ancester: list of nodes with no incoming edges + @param nodes list of ids of nodes in the graph + @param transitions list of edges in the graph in the form (source_node, destination_node) + @param no_ancester list of nodes with no incoming edges """ self.nodes = nodes or [] @@ -210,8 +210,8 @@ class graph(object): def exchange(self, e, f): """Exchange edges to make feasible-tree optimized - @param edge: edge with negative cut-value - @param edge: new edge with minimum slack-value + @param edge edge with negative cut-value + @param edge new edge with minimum slack-value """ self.tree_edges.__delitem__(self.tree_edges.index(e)) self.tree_edges.append(f) @@ -221,7 +221,7 @@ class graph(object): def enter_edge(self, edge): """Finds a new_edge with minimum slack value to replace an edge with negative cut-value - @param edge: edge with negative cut-value + @param edge edge with negative cut-value """ self.head_nodes = [] @@ -345,8 +345,8 @@ class graph(object): def median_value(self, node, adj_rank): """Returns median value of a vertex , defined as the median position of the adjacent vertices - @param node: node to process - @param adj_rank: rank 1 less than the node's rank + @param node node to process + @param adj_rank rank 1 less than the node's rank """ adj_nodes = self.adj_position(node, adj_rank) l = len(adj_nodes) @@ -367,8 +367,8 @@ class graph(object): def adj_position(self, node, adj_rank): """Returns list of the present positions of the nodes adjacent to node in the given adjacent rank. - @param node: node to process - @param adj_rank: rank 1 less than the node's rank + @param node node to process + @param adj_rank rank 1 less than the node's rank """ pre_level_nodes = self.levels.get(adj_rank, []) @@ -606,7 +606,7 @@ class graph(object): def rank(self): """Finds the optimized rank of the nodes using Network-simplex algorithm - @param start: starting node of the component + @param start starting node of the component """ self.levels = {} self.critical_edges = [] @@ -668,7 +668,7 @@ class graph(object): def process(self, starting_node): """Process the graph to find ranks and order of the nodes - @param starting_node: node from where to start the graph search + @param starting_node node from where to start the graph search """ self.start_nodes = starting_node or [] From 5aa560791394e7d03d08d780e4cb1194a0ff6222 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:03:12 +0300 Subject: [PATCH 09/34] tools.which: docstring fix bzr revid: xrg@linux.gr-20110623090312-8kon0hgauxbrpace --- openerp/tools/which.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/tools/which.py b/openerp/tools/which.py index 66b264bddec..548b836247c 100755 --- a/openerp/tools/which.py +++ b/openerp/tools/which.py @@ -19,8 +19,8 @@ Return a generator which yields full paths in which the *file* name exists in a directory that is part of the file name, or on *path*, and has the given *mode*. - By default, *mode* matches an inclusive OR of os.F_OK and os.X_OK - - an existing executable file. + By default, *mode* matches an inclusive OR of os.F_OK and os.X_OK - an + existing executable file. The *path* is, by default, the ``PATH`` variable on the platform, or the string/iterable passed in as *path*. In the event that a ``PATH`` variable is not found, :const:`os.defpath` is used. From 588552b52dbf41381ff9ca80fe414416367acc16 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:03:12 +0300 Subject: [PATCH 10/34] sql_db: docstrings bzr revid: xrg@linux.gr-20110623090312-afwjqqduqdtex017 --- openerp/sql_db.py | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/openerp/sql_db.py b/openerp/sql_db.py index e759a13e1d3..5d3ad49259f 100644 --- a/openerp/sql_db.py +++ b/openerp/sql_db.py @@ -20,6 +20,14 @@ # ############################################################################## +""" +The PostgreSQL connector is a connectivity layer between the OpenERP code and +the database, *not* a database abstraction toolkit. Database abstraction is what +the ORM does, in fact. + +See also: the `pooler` module +""" + __all__ = ['db_connect', 'close_db'] from threading import currentThread @@ -66,6 +74,13 @@ re_into = re.compile('.* into "?([a-zA-Z_0-9]+)"? .*$'); sql_counter = 0 class Cursor(object): + """ Cursor is an open transaction to Postgres, utilizing a TCP connection + + A lightweight wrapper around psycopg2's `psycopg1cursor` objects + + This is the object behind the `cr` variable used all over the OpenERP + code. + """ IN_MAX = 1000 # decent limit on size of IN queries - guideline = Oracle limit __logger = None @@ -233,22 +248,37 @@ class Cursor(object): @check def commit(self): + """ Perform an SQL `COMMIT` + """ return self._cnx.commit() @check def rollback(self): + """ Perform an SQL `ROLLBACK` + """ return self._cnx.rollback() @check def __getattr__(self, name): return getattr(self._obj, name) + """ Set the mode of postgres operations for all cursors + """ + """Obtain the mode of postgres operations for all cursors + """ class PsycoConnection(psycopg2.extensions.connection): pass class ConnectionPool(object): - + """ The pool of connections to database(s) + + Keep a set of connections to pg databases open, and reuse them + to open cursors for all transactions. + + The connections are *not* automatically closed. Only a close_db() + can trigger that. + """ __logger = logging.getLogger('db.connection_pool') def locked(fun): @@ -340,6 +370,8 @@ class ConnectionPool(object): class Connection(object): + """ A lightweight instance of a connection to postgres + """ __logger = logging.getLogger('db.connection') def __init__(self, pool, dbname): From cf6e623f7d030fde80c310c99323f8d6e5e3c93a Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:03:57 +0300 Subject: [PATCH 11/34] API docs: settings file and titles at modules bzr revid: xrg@linux.gr-20110623090357-nazly8vpfnw0iskr --- bin/.apidoc | 1 + openerp/addons/base/publisher_warranty/__init__.py | 2 ++ openerp/osv/__init__.py | 1 + openerp/osv/expression.py | 2 ++ openerp/osv/orm.py | 3 +++ openerp/osv/osv.py | 4 +--- openerp/osv/query.py | 1 + openerp/report/__init__.py | 2 ++ openerp/report/render/__init__.py | 2 ++ openerp/sql_db.py | 5 +++++ openerp/tiny_socket.py | 4 +++- openerp/tools/__init__.py | 2 ++ openerp/tools/config.py | 2 ++ openerp/tools/misc.py | 2 ++ openerp/workflow/__init__.py | 2 ++ 15 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 bin/.apidoc diff --git a/bin/.apidoc b/bin/.apidoc new file mode 100644 index 00000000000..e4441c5240d --- /dev/null +++ b/bin/.apidoc @@ -0,0 +1 @@ +excludes: pychart release openerp-server test run_tests \ No newline at end of file diff --git a/openerp/addons/base/publisher_warranty/__init__.py b/openerp/addons/base/publisher_warranty/__init__.py index 6b60ddf3ca1..2baa53f5c1d 100644 --- a/openerp/addons/base/publisher_warranty/__init__.py +++ b/openerp/addons/base/publisher_warranty/__init__.py @@ -21,5 +21,7 @@ import publisher_warranty +#.apidoc title: IR interface (Deprecated) + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/osv/__init__.py b/openerp/osv/__init__.py index 630090954e6..b32d81d659e 100644 --- a/openerp/osv/__init__.py +++ b/openerp/osv/__init__.py @@ -22,6 +22,7 @@ import osv import fields +#.apidoc title: Object Services and Relational Mapping # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/osv/expression.py b/openerp/osv/expression.py index 1922d5e8388..143b5992904 100644 --- a/openerp/osv/expression.py +++ b/openerp/osv/expression.py @@ -23,6 +23,8 @@ from openerp.tools import flatten, reverse_enumerate import fields +#.apidoc title: Domain Expressions + class expression(object): """ diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 9578a4d356b..eeb7e70b65a 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -19,6 +19,9 @@ # ############################################################################## +#.apidoc title: Object Relational Mapping +#.apidoc module-mods: member-order: bysource + """ Object relational mapping to database (postgresql) module * Hierarchical structure diff --git a/openerp/osv/osv.py b/openerp/osv/osv.py index acf262af343..1327efe5731 100644 --- a/openerp/osv/osv.py +++ b/openerp/osv/osv.py @@ -19,9 +19,7 @@ # ############################################################################## -# -# OSV: Objects Services -# +#.apidoc title: Objects Services (OSV) import orm import openerp.netsvc as netsvc diff --git a/openerp/osv/query.py b/openerp/osv/query.py index ab4f4143634..0b2bf47305a 100644 --- a/openerp/osv/query.py +++ b/openerp/osv/query.py @@ -19,6 +19,7 @@ # ############################################################################## +#.apidoc title: Query object def _quote(to_quote): if '"' not in to_quote: diff --git a/openerp/report/__init__.py b/openerp/report/__init__.py index ca2b86d9731..646967f00d1 100644 --- a/openerp/report/__init__.py +++ b/openerp/report/__init__.py @@ -31,5 +31,7 @@ import report_sxw import printscreen +#.apidoc title: Reporting Support and Engines + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/report/render/__init__.py b/openerp/report/render/__init__.py index 1becd5ee514..1b751fa4104 100644 --- a/openerp/report/render/__init__.py +++ b/openerp/report/render/__init__.py @@ -23,6 +23,8 @@ from simple import simple from rml import rml, rml2html, rml2txt, odt2odt , html2html, makohtml2html from render import render +#.apidoc title: Report Rendering + try: import Image except ImportError: diff --git a/openerp/sql_db.py b/openerp/sql_db.py index 5d3ad49259f..43a508f9082 100644 --- a/openerp/sql_db.py +++ b/openerp/sql_db.py @@ -20,6 +20,8 @@ # ############################################################################## +#.apidoc title: PostgreSQL interface + """ The PostgreSQL connector is a connectivity layer between the OpenERP code and the database, *not* a database abstraction toolkit. Database abstraction is what @@ -28,6 +30,9 @@ the ORM does, in fact. See also: the `pooler` module """ +#.apidoc add-functions: print_stats +#.apidoc add-classes: Cursor Connection ConnectionPool + __all__ = ['db_connect', 'close_db'] from threading import currentThread diff --git a/openerp/tiny_socket.py b/openerp/tiny_socket.py index cc0f09ec976..29782109347 100644 --- a/openerp/tiny_socket.py +++ b/openerp/tiny_socket.py @@ -26,9 +26,11 @@ import marshal import netsvc +#.apidoc title: Net-RPC classes + class Myexception(Exception): """ - custome exception object store + custom exception object store * faultcode * faulestring * args diff --git a/openerp/tools/__init__.py b/openerp/tools/__init__.py index 16042841b6e..3d1cdc960ab 100644 --- a/openerp/tools/__init__.py +++ b/openerp/tools/__init__.py @@ -32,5 +32,7 @@ from pdf_utils import * from yaml_import import * from sql import * +#.apidoc title: Tools + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/tools/config.py b/openerp/tools/config.py index 9a59235773a..b35769fc8e6 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -45,6 +45,8 @@ class MyOption (optparse.Option, object): self.my_default = attrs.pop('my_default', None) super(MyOption, self).__init__(*opts, **attrs) +#.apidoc title: Server Configuration + def check_ssl(): try: from OpenSSL import SSL diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index a79bbb0cf49..dc66142fc4a 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -20,6 +20,8 @@ # ############################################################################## +#.apidoc title: Utilities: tools.misc + """ Miscelleanous tools used by OpenERP. """ diff --git a/openerp/workflow/__init__.py b/openerp/workflow/__init__.py index 50e6181fa5f..959a878f208 100644 --- a/openerp/workflow/__init__.py +++ b/openerp/workflow/__init__.py @@ -21,6 +21,8 @@ import wkf_service +#.apidoc title: Workflow objects + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 18c480d1cb65ac05440e8fc9a7eebfe973d14c7d Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:03:57 +0300 Subject: [PATCH 12/34] netsvc: API doc title and docstring fixes bzr revid: xrg@linux.gr-20110623090357-vcr58sj3sbgd1r2i --- openerp/netsvc.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/openerp/netsvc.py b/openerp/netsvc.py index 42ccab414c7..eac8a13b8fe 100644 --- a/openerp/netsvc.py +++ b/openerp/netsvc.py @@ -63,6 +63,9 @@ def close_socket(sock): sock.close() +#.apidoc title: Common Services: netsvc +#.apidoc module-mods: member-order: bysource + class Service(object): """ Base class for *Local* services @@ -249,19 +252,22 @@ def init_alternative_logger(): logger.setLevel(logging.ERROR) class Agent(object): - """Singleton that keeps track of cancellable tasks to run at a given - timestamp. - The tasks are caracterised by: + """ Singleton that keeps track of cancellable tasks to run at a given + timestamp. + + The tasks are characterised by: + * a timestamp * the database on which the task run * the function to call * the arguments and keyword arguments to pass to the function Implementation details: - Tasks are stored as list, allowing the cancellation by setting - the timestamp to 0. - A heapq is used to store tasks, so we don't need to sort - tasks ourself. + + - Tasks are stored as list, allowing the cancellation by setting + the timestamp to 0. + - A heapq is used to store tasks, so we don't need to sort + tasks ourself. """ __tasks = [] __tasks_by_db = {} From 8cfb7dae73471b3e7e3c6c71068b4aaa83990f9d Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:04:57 +0300 Subject: [PATCH 13/34] API docs: docstrings, module titles bzr revid: xrg@linux.gr-20110623090457-y5o7pd5y1ltpo9t9 --- openerp/addons/base/module/report/__init__.py | 10 ++++++++++ openerp/report/printscreen/__init__.py | 5 +++++ openerp/report/printscreen/ps_list.py | 2 ++ openerp/report/pyPdf/__init__.py | 3 +++ openerp/report/render/html2html/__init__.py | 2 ++ openerp/report/render/makohtml2html/__init__.py | 5 ++++- openerp/report/render/odt2odt/__init__.py | 2 ++ openerp/report/render/rml2html/__init__.py | 2 ++ openerp/report/render/rml2pdf/__init__.py | 2 ++ openerp/report/render/rml2pdf/customfonts.py | 2 ++ openerp/report/render/rml2txt/__init__.py | 9 +++++++++ openerp/service/http_server.py | 11 ++++++++++- openerp/service/netrpc_server.py | 2 ++ openerp/service/security.py | 5 ++++- openerp/service/web_services.py | 9 +++++++++ openerp/service/websrv_lib.py | 4 ++++ openerp/tools/config.py | 2 +- 17 files changed, 73 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/module/report/__init__.py b/openerp/addons/base/module/report/__init__.py index 4d58fb00b42..f9d787085b4 100644 --- a/openerp/addons/base/module/report/__init__.py +++ b/openerp/addons/base/module/report/__init__.py @@ -21,5 +21,15 @@ import ir_module_reference_print +#.apidoc title: RPC Services + +""" Classes of this module implement the network protocols that the + OpenERP server uses to communicate with remote clients. + + Some classes are mostly utilities, whose API need not be visible to + the average user/developer. Study them only if you are about to + implement an extension to the network protocols, or need to debug some + low-level behavior of the wire. +""" # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/report/printscreen/__init__.py b/openerp/report/printscreen/__init__.py index b9dd9702b7c..e940a7e467c 100644 --- a/openerp/report/printscreen/__init__.py +++ b/openerp/report/printscreen/__init__.py @@ -22,6 +22,11 @@ import ps_list import ps_form +#.apidoc title: Printscreen Support + +""" A special report, that is automatically formatted to look like the + screen contents of Form/List Views. +""" # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/report/printscreen/ps_list.py b/openerp/report/printscreen/ps_list.py index 8b0ece6eaa0..dc280a53e3e 100644 --- a/openerp/report/printscreen/ps_list.py +++ b/openerp/report/printscreen/ps_list.py @@ -31,6 +31,8 @@ import time, os from operator import itemgetter from datetime import datetime +#.apidoc title: Printscreen for List Views + class report_printscreen_list(report_int): def __init__(self, name): report_int.__init__(self, name) diff --git a/openerp/report/pyPdf/__init__.py b/openerp/report/pyPdf/__init__.py index af02553da69..8d17648d4b9 100644 --- a/openerp/report/pyPdf/__init__.py +++ b/openerp/report/pyPdf/__init__.py @@ -1,2 +1,5 @@ from pdf import PdfFileReader, PdfFileWriter +#.apidoc title: pyPdf Engine + __all__ = ["pdf"] + diff --git a/openerp/report/render/html2html/__init__.py b/openerp/report/render/html2html/__init__.py index bb497aca94f..40917030f45 100644 --- a/openerp/report/render/html2html/__init__.py +++ b/openerp/report/render/html2html/__init__.py @@ -21,5 +21,7 @@ from html2html import parseString +#.apidoc title: HTML to HTML engine + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/report/render/makohtml2html/__init__.py b/openerp/report/render/makohtml2html/__init__.py index 9303d40b850..ee458d04718 100644 --- a/openerp/report/render/makohtml2html/__init__.py +++ b/openerp/report/render/makohtml2html/__init__.py @@ -19,4 +19,7 @@ # ############################################################################## -from makohtml2html import parseNode \ No newline at end of file +from makohtml2html import parseNode + +#.apidoc title: MAKO to HTML engine + diff --git a/openerp/report/render/odt2odt/__init__.py b/openerp/report/render/odt2odt/__init__.py index 775cbabb3d4..7155923b6b6 100644 --- a/openerp/report/render/odt2odt/__init__.py +++ b/openerp/report/render/odt2odt/__init__.py @@ -21,4 +21,6 @@ from odt2odt import parseNode +#.apidoc title: ODT to ODT engine + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/openerp/report/render/rml2html/__init__.py b/openerp/report/render/rml2html/__init__.py index 52c52863008..96b9afc6e70 100644 --- a/openerp/report/render/rml2html/__init__.py +++ b/openerp/report/render/rml2html/__init__.py @@ -21,5 +21,7 @@ from rml2html import parseString +#.apidoc title: RML to HTML engine + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/report/render/rml2pdf/__init__.py b/openerp/report/render/rml2pdf/__init__.py index 001aea413fd..ffe9339b659 100644 --- a/openerp/report/render/rml2pdf/__init__.py +++ b/openerp/report/render/rml2pdf/__init__.py @@ -21,3 +21,5 @@ from trml2pdf import parseString, parseNode +#.apidoc title: RML to PDF engine + diff --git a/openerp/report/render/rml2pdf/customfonts.py b/openerp/report/render/rml2pdf/customfonts.py index 17a8a9c0ab7..bc70d1f65ea 100644 --- a/openerp/report/render/rml2pdf/customfonts.py +++ b/openerp/report/render/rml2pdf/customfonts.py @@ -28,6 +28,8 @@ from reportlab import rl_config from openerp.tools import config +#.apidoc title: TTF Font Table + """This module allows the mapping of some system-available TTF fonts to the reportlab engine. diff --git a/openerp/report/render/rml2txt/__init__.py b/openerp/report/render/rml2txt/__init__.py index 56c577d51d3..cc0530eedb6 100644 --- a/openerp/report/render/rml2txt/__init__.py +++ b/openerp/report/render/rml2txt/__init__.py @@ -21,5 +21,14 @@ from rml2txt import parseString, parseNode +#.apidoc title: RML to TXT engine + +""" This engine is the minimalistic renderer of RML documents into text files, + using spaces and newlines to format. + + It was needed in some special applications, where legal reports need to be + printed in special (dot-matrix) printers. +""" + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/service/http_server.py b/openerp/service/http_server.py index a7524186fe2..61713e9f2dd 100644 --- a/openerp/service/http_server.py +++ b/openerp/service/http_server.py @@ -26,10 +26,19 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ############################################################################### -""" This file contains instance of the http server. +#.apidoc title: HTTP and XML-RPC Server +""" This module offers the family of HTTP-based servers. These are not a single + class/functionality, but a set of network stack layers, implementing + extendable HTTP protocols. + The OpenERP server defines a single instance of a HTTP server, listening at + the standard 8069, 8071 ports (well, it is 2 servers, and ports are + configurable, of course). This "single" server then uses a `MultiHTTPHandler` + to dispatch requests to the appropriate channel protocol, like the XML-RPC, + static HTTP, DAV or other. """ + from websrv_lib import * import openerp.netsvc as netsvc import errno diff --git a/openerp/service/netrpc_server.py b/openerp/service/netrpc_server.py index b4d5a74dc48..70855a018e5 100644 --- a/openerp/service/netrpc_server.py +++ b/openerp/service/netrpc_server.py @@ -19,6 +19,8 @@ # ############################################################################## +#.apidoc title: NET-RPC Server + """ This file contains instance of the net-rpc server diff --git a/openerp/service/security.py b/openerp/service/security.py index ec13fe3de8c..86c381b683f 100644 --- a/openerp/service/security.py +++ b/openerp/service/security.py @@ -22,8 +22,11 @@ import openerp.pooler as pooler import openerp.tools as tools -# When rejecting a password, hide the traceback +#.apidoc title: Authentication helpers + class ExceptionNoTb(Exception): + """ When rejecting a password, hide the traceback + """ def __init__(self, msg): super(ExceptionNoTb, self).__init__(msg) self.traceback = ('','','') diff --git a/openerp/service/web_services.py b/openerp/service/web_services.py index 39457807868..40e7ccf1d69 100644 --- a/openerp/service/web_services.py +++ b/openerp/service/web_services.py @@ -38,6 +38,15 @@ import locale import logging from cStringIO import StringIO +#.apidoc title: Exported Service methods +#.apidoc module-mods: member-order: bysource + +""" This python module defines the RPC methods available to remote clients. + + Each 'Export Service' is a group of 'methods', which in turn are RPC + procedures to be called. Each method has its own arguments footprint. +""" + class db(netsvc.ExportService): def __init__(self, name="db"): netsvc.ExportService.__init__(self, name) diff --git a/openerp/service/websrv_lib.py b/openerp/service/websrv_lib.py index 859845de8f8..2e098169bae 100644 --- a/openerp/service/websrv_lib.py +++ b/openerp/service/websrv_lib.py @@ -24,8 +24,12 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ############################################################################### +#.apidoc title: HTTP Layer library (websrv_lib) + """ Framework for generic http servers + This library contains *no* OpenERP-specific functionality. It should be + usable in other projects, too. """ import socket diff --git a/openerp/tools/config.py b/openerp/tools/config.py index b35769fc8e6..18f40e0011f 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -45,7 +45,7 @@ class MyOption (optparse.Option, object): self.my_default = attrs.pop('my_default', None) super(MyOption, self).__init__(*opts, **attrs) -#.apidoc title: Server Configuration +#.apidoc title: Server Configuration Loader def check_ssl(): try: From 025c77b6a20eef7a2847223ce29c186134813008 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:04:57 +0300 Subject: [PATCH 14/34] API docs: docstring for report/printscreen/ps_form.py bzr revid: xrg@linux.gr-20110623090457-m9tjszds4jg8m010 --- openerp/report/printscreen/ps_form.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/report/printscreen/ps_form.py b/openerp/report/printscreen/ps_form.py index d997f1eb038..3afe9d5f401 100644 --- a/openerp/report/printscreen/ps_form.py +++ b/openerp/report/printscreen/ps_form.py @@ -28,6 +28,8 @@ from lxml import etree import time, os +#.apidoc title: Printscreen for Form Views + class report_printscreen_list(report_int): def __init__(self, name): report_int.__init__(self, name) From 121b9ce97c790d7e7f1dfa7d581957c7a731662c Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:05:34 +0300 Subject: [PATCH 15/34] apidoc: exclude the old/broken/nasty b-q-i module It is still lurking inside addons, waiting to screw your database! bzr revid: xrg@linux.gr-20110623090534-ebfk79ki7c90yfno --- bin/.apidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/.apidoc b/bin/.apidoc index e4441c5240d..9109e4388fe 100644 --- a/bin/.apidoc +++ b/bin/.apidoc @@ -1 +1 @@ -excludes: pychart release openerp-server test run_tests \ No newline at end of file +excludes: pychart release openerp-server test run_tests addons/base_quality_interrogation \ No newline at end of file From bec65af2681dd4bdb021af20610e38d919ed7269 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 23 Jun 2011 12:08:07 +0300 Subject: [PATCH 16/34] API doc: move settings file from bin/ to openerp/ bzr revid: xrg@linux.gr-20110623090807-0nqxrlsr3re8v8on --- {bin => openerp}/.apidoc | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {bin => openerp}/.apidoc (100%) diff --git a/bin/.apidoc b/openerp/.apidoc similarity index 100% rename from bin/.apidoc rename to openerp/.apidoc From 1ac0c5f053466e1b5388134a97d434bfadafa597 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 1 Jul 2011 17:18:39 +0200 Subject: [PATCH 17/34] [REVERT] last 4 revisions on fields_view_get, need further review bzr revid: odo@openerp.com-20110701151839-g8nhfr4z8pmkflah --- openerp/osv/orm.py | 139 +++------------------------------------------ 1 file changed, 8 insertions(+), 131 deletions(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 4c52a8730fb..f4a7dfa8ed2 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -48,7 +48,6 @@ import re import time import traceback import types -import simplejson import openerp.netsvc as netsvc from lxml import etree @@ -72,88 +71,6 @@ module_class_list = {} # Super-user identifier (aka Administrator aka root) ROOT_USER_ID = 1 -def transfer_field_to_modifiers(field, modifiers): - for a in ('invisible', 'readonly', 'required'): - if field.get(a): - modifiers[a] = bool(field.get(a)) - - -# Don't deal with groups, it is done by check_group(). -# Need the context to evaluate the invisible attribute on tree views. -# For non-tree views, the context shouldn't be given. -def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False): - if node.get('attrs'): - modifiers.update(eval(node.get('attrs'))) - - if node.get('states'): - if 'invisible' in modifiers and isinstance(modifiers['invisible'], list): - # TODO combine with AND or OR, use implicit AND for now. - modifiers['invisible'].append(('state', 'not in', node.get('states').split(','))) - else: - modifiers['invisible'] = [('state', 'not in', node.get('states').split(','))] - - for a in ('invisible', 'readonly', 'required'): - if node.get(a): - v = bool(eval(node.get(a), {'context': context or {}})) - if in_tree_view and a == 'invisible': - # Invisible in a tree view has a specific meaning, make it a - # new key in the modifiers attribute. - modifiers['tree_invisible'] = v - elif v or (a not in modifiers or not isinstance(modifiers[a], list)): - # Don't set the attribute to False if a dynamic value was - # provided (i.e. a domain from attrs or states). - modifiers[a] = v - - -def simplify_modifiers(modifiers): - for a in ('invisible', 'readonly', 'required'): - if a in modifiers and not modifiers[a]: - del modifiers[a] - - -def transfer_modifiers_to_node(modifiers, node): - if modifiers: - simplify_modifiers(modifiers) - node.set('modifiers', simplejson.dumps(modifiers)) - - -def test_modifiers(what, expected): - modifiers = {} - if isinstance(what, basestring): - node = etree.fromstring(what) - transfer_node_to_modifiers(node, modifiers) - simplify_modifiers(modifiers) - json = simplejson.dumps(modifiers) - assert json == expected, "%s != %s" % (json, expected) - elif isinstance(what, dict): - transfer_field_to_modifiers(what, modifiers) - simplify_modifiers(modifiers) - json = simplejson.dumps(modifiers) - assert json == expected, "%s != %s" % (json, expected) - - -# To use this test: -# import openerp -# openerp.osv.orm.modifiers_tests() -def modifiers_tests(): - test_modifiers('', '{}') - test_modifiers('', '{"invisible": true}') - test_modifiers('', '{"readonly": true}') - test_modifiers('', '{"required": true}') - test_modifiers('', '{}') - test_modifiers('', '{}') - test_modifiers('', '{}') - test_modifiers('', '{"invisible": true, "required": true}') # TODO order is not guaranteed - test_modifiers('', '{"invisible": true}') - test_modifiers('', '{"required": true}') - test_modifiers("""""", '{"invisible": [["b", "=", "c"]]}') - - # The dictionary is supposed to be the result of fields_get(). - test_modifiers({}, '{}') - test_modifiers({"invisible": True}, '{"invisible": true}') - test_modifiers({"invisible": False}, '{}') - - def check_object_name(name): """ Check if the given name is a valid openerp object name. @@ -1407,26 +1324,13 @@ class orm_template(object): def view_header_get(self, cr, user, view_id=None, view_type='form', context=None): return False - def __view_look_dom(self, cr, user, node, view_id, in_tree_view, model_fields, context=None): - """ Return the description of the fields in the node. - - In a normal call to this method, node is a complete view architecture - but it is actually possible to give some sub-node (this is used so - that the method can call itself recursively). - - Originally, the field descriptions are drawn from the node itself. - But there is now some code calling fields_get() in order to merge some - of those information in the architecture. - - """ + def __view_look_dom(self, cr, user, node, view_id, context=None): if context is None: context = {} result = False fields = {} children = True - modifiers = {} - def encode(s): if isinstance(s, unicode): return s.encode('utf8') @@ -1440,7 +1344,6 @@ class orm_template(object): can_see = any(access_pool.check_groups(cr, user, group) for group in groups) if not can_see: node.set('invisible', '1') - modifiers['invisible'] = True if 'attrs' in node.attrib: del(node.attrib['attrs']) #avoid making field visible later del(node.attrib['groups']) @@ -1512,14 +1415,10 @@ class orm_template(object): attrs['selection'].append((False, '')) fields[node.get('name')] = attrs - field = model_fields[node.get('name')] - transfer_field_to_modifiers(field, modifiers) - elif node.tag in ('form', 'tree'): result = self.view_header_get(cr, user, False, node.tag, context) if result: node.set('string', result) - in_tree_view = node.tag == 'tree' elif node.tag == 'calendar': for additional_field in ('date_start', 'date_delay', 'date_stop', 'color'): @@ -1528,12 +1427,6 @@ class orm_template(object): check_group(node) - # The view architeture overrides the python model. - # Get the attrs before they are (possibly) deleted by check_group below - transfer_node_to_modifiers(node, modifiers, context, in_tree_view) - - # TODO remove attrs couterpart in modifiers when invisible is true ? - # translate view if 'lang' in context: if node.get('string') and not result: @@ -1559,9 +1452,8 @@ class orm_template(object): for f in node: if children or (node.tag == 'field' and f.tag in ('filter','separator')): - fields.update(self.__view_look_dom(cr, user, f, view_id, in_tree_view, model_fields, context)) + fields.update(self.__view_look_dom(cr, user, f, view_id, context)) - transfer_modifiers_to_node(modifiers, node) return fields def _disable_workflow_buttons(self, cr, user, node): @@ -1590,32 +1482,19 @@ class orm_template(object): return node def __view_look_dom_arch(self, cr, user, node, view_id, context=None): - """ Return an architecture and a description of all the fields. - - The field description combines the result of fields_get() and - __view_look_dom(). - - :param node: the architecture as as an etree - :return: a tuple (arch, fields) where arch is the given node as a - string and fields is the description of all the fields. - - """ + fields_def = self.__view_look_dom(cr, user, node, view_id, context=context) + node = self._disable_workflow_buttons(cr, user, node) + arch = etree.tostring(node, encoding="utf-8").replace('\t', '') fields = {} if node.tag == 'diagram': if node.getchildren()[0].tag == 'node': - node_fields = self.pool.get(node.getchildren()[0].get('object')).fields_get(cr, user, None, context) + node_fields = self.pool.get(node.getchildren()[0].get('object')).fields_get(cr, user, fields_def.keys(), context) fields.update(node_fields) if node.getchildren()[1].tag == 'arrow': - arrow_fields = self.pool.get(node.getchildren()[1].get('object')).fields_get(cr, user, None, context) + arrow_fields = self.pool.get(node.getchildren()[1].get('object')).fields_get(cr, user, fields_def.keys(), context) fields.update(arrow_fields) else: - fields = self.fields_get(cr, user, None, context) - fields_def = self.__view_look_dom(cr, user, node, view_id, False, fields, context=context) - node = self._disable_workflow_buttons(cr, user, node) - arch = etree.tostring(node, encoding="utf-8").replace('\t', '') - for k in fields.keys(): - if k not in fields_def: - del fields[k] + fields = self.fields_get(cr, user, fields_def.keys(), context) for field in fields_def: if field == 'id': # sometime, the view may contain the (invisible) field 'id' needed for a domain (when 2 objects have cross references) @@ -1636,7 +1515,6 @@ class orm_template(object): def __get_default_calendar_view(self): """Generate a default calendar view (For internal use only). """ - # TODO could return an etree instead of a string arch = ('\n' ' Date: Sat, 2 Jul 2011 01:23:28 +0200 Subject: [PATCH 18/34] [IMP] fields.function: removed method=True param, added docstring The 'method' param was quite useless, as 100% of functions fields were using method=True. In addition, there is no need to distinguish methods and functions, as methods are unbound and passed as function objects in the declaration of a function field, so they only need a proper signature. Finally, docstring was added for fields.function class, based on current doc from developer book (in preparation of future API doc). (A fix in addons follows, getting rid of all the useless method=True params there too). bzr revid: odo@openerp.com-20110701232328-flgxulxva70vnyxr --- openerp/osv/fields.py | 200 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 190 insertions(+), 10 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index b7979f03812..3cf87a1e4fe 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -741,6 +741,192 @@ def sanitize_binary_value(value): # Function fields # --------------------------------------------------------- class function(_column): + """ + A field whose value is computed by a function (rather + than being read from the database). + + :param fnct: the callable that will compute the field value. + :param arg: arbitrary value to be passed to ``fnct`` when computing the value. + :param fnct_inv: the callable that will allow writing values in that field + (if not provided, the field is read-only). + :param fnct_inv_arg: arbitrary value to be passed to ``fnct_inv`` when + writing a value. + :param str type: type of the field simulated by the function field + :param fnct_search: the callable that allows searching on the field + (if not provided, search will not return any result). + :param store: store computed value in database + (see :ref:`The *store* parameter `). + :type store: True or dict specifying triggers for field computation + :param multi: name of batch for batch computation of function fields. + All fields with the same batch name will be computed by + a single function call. This changes the signature of the + ``fnct`` callable. + + .. _field-function-fnct: The ``fnct`` parameter + + .. rubric:: The ``fnct`` parameter + + The callable implementing the function field must have the following signature: + + .. function:: fnct(model, cr, uid, ids, field_name(s), arg, context) + + Implements the function field. + + :param orm_template model: model to which the field belongs (should be ``self`` for + a model method) + :param field_name(s): name of the field to compute, or if ``multi`` is provided, + list of field names to compute. + :type field_name(s): str | [str] + :param arg: arbitrary value passed when declaring the function field + :rtype: dict + :return: mapping of ``ids`` to computed values, or if multi is provided, + to a map of field_names to computed values + + The values in the returned dictionary must be of the type specified by the type + argument in the field declaration. + + Here is an example with a simple function ``char`` function field:: + + # declarations + def compute(self, cr, uid, ids, field_name, arg, context): + result = {} + # ... + return result + _columns['my_char'] = fields.function(compute, type='char', size=50) + + # when called with ``ids=[1,2,3]``, ``compute`` could return: + { + 1: 'foo', + 2: 'bar', + 3: False # null values should be returned explicitly too + } + + If ``multi`` is set, then ``field_name`` is replaced by ``field_names``: a list + of the field names that should be computed. Each value in the returned + dictionary must then be a dictionary mapping field names to values. + + Here is an example where two function fields (``name`` and ``age``) + are both computed by a single function field:: + + # declarations + def compute(self, cr, uid, ids, field_names, arg, context): + result = {} + # ... + return result + _columns['name'] = fields.function(compute_person_data, type='char',\ + size=50, multi='person_data') + _columns[''age'] = fields.function(compute_person_data, type='integer',\ + multi='person_data') + + # when called with ``ids=[1,2,3]``, ``compute_person_data`` could return: + { + 1: {'name': 'Bob', 'age': 23}, + 2: {'name': 'Sally', 'age': 19}, + 3: {'name': 'unknown', 'age': False} + } + + .. _field-function-fnct-inv: + + .. rubric:: The ``fnct_inv`` parameter + + This callable implements the write operation for the function field + and must have the following signature: + + .. function:: fnct_inv(model, cr, uid, ids, field_name, field_value, fnct_inv_arg, context) + + Callable that implements the ``write`` operation for the function field. + + :param orm_template model: model to which the field belongs (should be ``self`` for + a model method) + :param str field_name: name of the field to set + :param fnct_inv_arg: arbitrary value passed when declaring the function field + :return: True + + When writing values for a function field, the ``multi`` parameter is ignored. + + .. _field-function-fnct-search: + + .. rubric:: The ``fnct_search`` parameter + + This callable implements the search operation for the function field + and must have the following signature: + + .. function:: fnct_search(model, cr, uid, model_again, field_name, criterion, context) + + Callable that implements the ``search`` operation for the function field by expanding + a search criterion based on the function field into a new domain based only on + columns that are stored in the database. + + :param orm_template model: model to which the field belongs (should be ``self`` for + a model method) + :param orm_template model_again: same value as ``model`` (seriously! this is for backwards + compatibility) + :param str field_name: name of the field to search on + :param list criterion: domain component specifying the search criterion on the field. + :rtype: list + :return: domain to use instead of ``criterion`` when performing the search. + This new domain must be based only on columns stored in the database, as it + will be used directly without any translation. + + The returned value must be a domain, that is, a list of the form [(field_name, operator, operand)]. + The most generic way to implement ``fnct_search`` is to directly search for the records that + match the given ``criterion``, and return their ``ids`` wrapped in a domain, such as + ``[('id','in',[1,3,5])]``. + + .. _field-function-store: + + .. rubric:: The ``store`` parameter + + The ``store`` parameter allows caching the result of the field computation in the + database, and defining the triggers that will invalidate that cache and force a + recomputation of the function field. + When not provided, the field is computed every time its value is read. + The value of ``store`` may be either ``True`` (to recompute the field value whenever + any field in the same record is modified), or a dictionary specifying a more + flexible set of recomputation triggers. + + A trigger specification is a dictionary that maps the names of the models that + will trigger the computation, to a tuple describing the trigger rule, in the + following form:: + + store = { + 'trigger_model': (mapping_function, + ['trigger_field1', 'trigger_field2'], + priority), + } + + A trigger rule is defined by a 3-item tuple where: + + * The ``mapping_function`` is defined as follows: + + .. function:: mapping_function(trigger_model, cr, uid, trigger_ids, context) + + Callable that maps record ids of a trigger model to ids of the + corresponding records in the source model (whose field values + need to be recomputed). + + :param orm_template model: trigger_model + :param list trigger_ids: ids of the records of trigger_model that were + modified + :rtype: list + :return: list of ids of the source model whose function field values + need to be recomputed + + * The second item is a list of the fields who should act as triggers for + the computation. If an empty list is given, all fields will act as triggers. + * The last item is the priority, used to order the triggers when processing them + after any write operation on a model that has function field triggers. The + default priority is 10. + + In fact, setting store = True is the same as using the following trigger dict:: + + store = { + 'model_itself': (lambda self, cr, uid, ids, context: ids, + [], + 10) + } + + """ _classic_read = False _classic_write = False _prefetch = False @@ -750,10 +936,9 @@ class function(_column): # # multi: compute several fields in one call # - def __init__(self, fnct, arg=None, fnct_inv=None, fnct_inv_arg=None, type='float', fnct_search=None, obj=None, method=False, store=False, multi=False, **args): + def __init__(self, fnct, arg=None, fnct_inv=None, fnct_inv_arg=None, type='float', fnct_search=None, obj=None, store=False, multi=False, **args): _column.__init__(self, **args) self._obj = obj - self._method = method self._fnct = fnct self._fnct_inv = fnct_inv self._arg = arg @@ -834,11 +1019,7 @@ class function(_column): return result def get(self, cr, obj, ids, name, uid=False, context=None, values=None): - result = {} - if self._method: - result = self._fnct(obj, cr, uid, ids, name, self._arg, context) - else: - result = self._fnct(cr, obj._table, ids, name, self._arg, context) + result = self._fnct(obj, cr, uid, ids, name, self._arg, context) for id in ids: if self._multi and id in result: for field, value in result[id].iteritems(): @@ -968,7 +1149,7 @@ class related(function): def __init__(self, *arg, **args): self.arg = arg self._relations = [] - super(related, self).__init__(self._fnct_read, arg, self._fnct_write, fnct_inv_arg=arg, method=True, fnct_search=self._fnct_search, **args) + super(related, self).__init__(self._fnct_read, arg, self._fnct_write, fnct_inv_arg=arg, fnct_search=self._fnct_search, **args) if self.store is True: # TODO: improve here to change self.store = {...} according to related objects pass @@ -1005,7 +1186,7 @@ class dummy(function): def __init__(self, *arg, **args): self.arg = arg self._relations = [] - super(dummy, self).__init__(self._fnct_read, arg, self._fnct_write, fnct_inv_arg=arg, method=True, fnct_search=None, **args) + super(dummy, self).__init__(self._fnct_read, arg, self._fnct_write, fnct_inv_arg=arg, fnct_search=None, **args) # --------------------------------------------------------- # Serialized fields @@ -1164,7 +1345,6 @@ def field_to_dict(self, cr, user, context, field): res['fnct_inv'] = field._fnct_inv and field._fnct_inv.func_name or False res['fnct_inv_arg'] = field._fnct_inv_arg or False res['func_obj'] = field._obj or False - res['func_method'] = field._method if isinstance(field, many2many): res['related_columns'] = list((field._id1, field._id2)) res['third_table'] = field._rel From 06fb14130a4bb88399c38979d1d07f37fbacf658 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Sat, 2 Jul 2011 01:41:24 +0200 Subject: [PATCH 19/34] [IMP] removed method=True params from all fields.function Server revision 3495 odo@openerp.com-20110701232328-flgxulxva70vnyxr removed the need for passing method=True to function fields, so this is the equivalent addons fix, removing it everywhere. Please be careful from now on, and do not pass it anymore! bzr revid: odo@openerp.com-20110701234124-a61zl0idvdfz3hyb --- addons/account/account.py | 22 ++++----- addons/account/account_bank_statement.py | 4 +- addons/account/account_cash_statement.py | 8 ++-- addons/account/account_move_line.py | 8 ++-- addons/account/invoice.py | 20 ++++---- addons/account/partner.py | 4 +- addons/account/report/account_report.py | 2 +- .../account/report/account_treasury_report.py | 4 +- .../account_analytic_analysis.py | 40 ++++++++-------- .../account_analytic_plans.py | 2 +- addons/account_budget/account_budget.py | 6 +-- .../account_invoice_layout.py | 2 +- addons/account_payment/account_invoice.py | 2 +- addons/account_payment/account_move_line.py | 2 +- addons/account_payment/account_payment.py | 10 ++-- addons/account_voucher/account_voucher.py | 8 ++-- addons/analytic/analytic.py | 14 +++--- addons/anonymization/anonymization.py | 4 +- addons/auction/auction.py | 24 +++++----- addons/base_calendar/base_calendar.py | 22 ++++----- addons/base_contact/base_contact.py | 2 +- .../base_report_creator.py | 2 +- addons/crm/crm.py | 2 +- addons/crm/crm_lead.py | 2 +- addons/crm/crm_meeting.py | 2 +- addons/delivery/delivery.py | 2 +- addons/delivery/stock.py | 8 ++-- addons/document/directory_report.py | 2 +- addons/document/document.py | 2 +- addons/event/event.py | 6 +-- addons/hr/hr.py | 6 +-- addons/hr/hr_department.py | 2 +- addons/hr_attendance/hr_attendance.py | 4 +- addons/hr_contract/hr_contract.py | 2 +- addons/hr_expense/hr_expense.py | 4 +- addons/hr_holidays/hr_holidays.py | 8 ++-- addons/hr_payroll/hr_payroll.py | 46 +++++++++---------- .../hr_payroll_account/hr_payroll_account.py | 4 +- .../hr_timesheet_invoice.py | 2 +- .../hr_timesheet_sheet/hr_timesheet_sheet.py | 18 ++++---- addons/idea/idea.py | 10 ++-- addons/l10n_ch/invoice.py | 2 +- addons/lunch/lunch.py | 4 +- addons/mail_gateway/mail_gateway.py | 2 +- .../marketing_campaign/marketing_campaign.py | 6 +-- .../report/campaign_analysis.py | 2 +- addons/membership/membership.py | 10 ++-- addons/mrp/mrp.py | 12 ++--- addons/mrp_operations/mrp_operations.py | 6 +-- addons/mrp_repair/mrp_repair.py | 12 ++--- addons/point_of_sale/point_of_sale.py | 18 ++++---- addons/procurement/procurement.py | 2 +- addons/product/product.py | 26 +++++------ addons/product_margin/product_margin.py | 34 +++++++------- addons/project/project.py | 20 ++++---- addons/project_issue/project_issue.py | 2 +- addons/project_long_term/project_long_term.py | 4 +- addons/project_planning/project_planning.py | 20 ++++---- addons/project_scrum/project_scrum.py | 12 ++--- .../project_timesheet/report/task_report.py | 4 +- addons/purchase/purchase.py | 16 +++---- addons/sale/sale.py | 16 +++---- addons/sale_journal/sale_journal.py | 1 - addons/sale_margin/sale_margin.py | 4 +- addons/sale_mrp/sale_mrp.py | 4 +- addons/sale_order_dates/sale_order_dates.py | 4 +- addons/stock/product.py | 18 ++++---- addons/stock/stock.py | 12 ++--- addons/stock_planning/stock_planning.py | 10 ++-- addons/survey/survey.py | 6 +-- 70 files changed, 316 insertions(+), 317 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index e50e18e8a1d..aced4041f13 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -368,16 +368,16 @@ class account_account(osv.osv): 'parent_id': fields.many2one('account.account', 'Parent', ondelete='cascade', domain=[('type','=','view')]), 'child_parent_ids': fields.one2many('account.account','parent_id','Children'), 'child_consol_ids': fields.many2many('account.account', 'account_account_consol_rel', 'child_id', 'parent_id', 'Consolidated Children'), - 'child_id': fields.function(_get_child_ids, method=True, type='many2many', relation="account.account", string="Child Accounts"), - 'balance': fields.function(__compute, digits_compute=dp.get_precision('Account'), method=True, string='Balance', multi='balance'), - 'credit': fields.function(__compute, digits_compute=dp.get_precision('Account'), method=True, string='Credit', multi='balance'), - 'debit': fields.function(__compute, digits_compute=dp.get_precision('Account'), method=True, string='Debit', multi='balance'), + 'child_id': fields.function(_get_child_ids, type='many2many', relation="account.account", string="Child Accounts"), + 'balance': fields.function(__compute, digits_compute=dp.get_precision('Account'), string='Balance', multi='balance'), + 'credit': fields.function(__compute, digits_compute=dp.get_precision('Account'), string='Credit', multi='balance'), + 'debit': fields.function(__compute, digits_compute=dp.get_precision('Account'), string='Debit', multi='balance'), 'reconcile': fields.boolean('Reconcile', help="Check this if the user is allowed to reconcile entries in this account."), 'shortcut': fields.char('Shortcut', size=12), 'tax_ids': fields.many2many('account.tax', 'account_account_tax_default_rel', 'account_id', 'tax_id', 'Default Taxes'), 'note': fields.text('Note'), - 'company_currency_id': fields.function(_get_company_currency, method=True, type='many2one', relation='res.currency', string='Company Currency'), + 'company_currency_id': fields.function(_get_company_currency, type='many2one', relation='res.currency', string='Company Currency'), 'company_id': fields.many2one('res.company', 'Company', required=True), 'active': fields.boolean('Active', select=2, help="If the active field is set to False, it will allow you to hide the account without removing it."), @@ -390,7 +390,7 @@ class account_account(osv.osv): 'manage this. So if you import from another software system you may have to use the rate at date. ' \ 'Incoming transactions always use the rate at date.', \ required=True), - 'level': fields.function(_get_level, string='Level', method=True, store=True, type='integer'), + 'level': fields.function(_get_level, string='Level', store=True, type='integer'), } _defaults = { @@ -587,7 +587,7 @@ class account_journal_column(osv.osv): _description = "Journal Column" _columns = { 'name': fields.char('Column Name', size=64, required=True), - 'field': fields.selection(_col_get, 'Field Name', method=True, required=True, size=32), + 'field': fields.selection(_col_get, 'Field Name', required=True, size=32), 'view_id': fields.many2one('account.journal.view', 'Journal View', select=True), 'sequence': fields.integer('Sequence', help="Gives the sequence order to journal column.", readonly=True), 'required': fields.boolean('Required'), @@ -985,7 +985,7 @@ class account_journal_period(osv.osv): 'name': fields.char('Journal-Period Name', size=64, required=True), 'journal_id': fields.many2one('account.journal', 'Journal', required=True, ondelete="cascade"), 'period_id': fields.many2one('account.period', 'Period', required=True, ondelete="cascade"), - 'icon': fields.function(_icon_get, method=True, string='Icon', type='char', size=32), + 'icon': fields.function(_icon_get, string='Icon', type='char', size=32), 'active': fields.boolean('Active', required=True, help="If the active field is set to False, it will allow you to hide the journal period without removing it."), 'state': fields.selection([('draft','Draft'), ('printed','Printed'), ('done','Done')], 'State', required=True, readonly=True, help='When journal period is created. The state is \'Draft\'. If a report is printed it comes to \'Printed\' state. When all transactions are done, it comes in \'Done\' state.'), @@ -1139,7 +1139,7 @@ class account_move(osv.osv): 'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}), 'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'), 'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store=True), - 'amount': fields.function(_amount_compute, method=True, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount), + 'amount': fields.function(_amount_compute, string='Amount', digits_compute=dp.get_precision('Account'), type='float', fnct_search=_search_amount), 'date': fields.date('Date', required=True, states={'posted':[('readonly',True)]}, select=True), 'narration':fields.text('Narration'), 'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True), @@ -1646,8 +1646,8 @@ class account_tax_code(osv.osv): 'name': fields.char('Tax Case Name', size=64, required=True, translate=True), 'code': fields.char('Case Code', size=64), 'info': fields.text('Description'), - 'sum': fields.function(_sum_year, method=True, string="Year Sum"), - 'sum_period': fields.function(_sum_period, method=True, string="Period Sum"), + 'sum': fields.function(_sum_year, string="Year Sum"), + 'sum_period': fields.function(_sum_period, string="Period Sum"), 'parent_id': fields.many2one('account.tax.code', 'Parent Code', select=True), 'child_ids': fields.one2many('account.tax.code', 'parent_id', 'Child Codes'), 'line_ids': fields.one2many('account.move.line', 'tax_code_id', 'Lines'), diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 54776e5c7e6..f712cc9ab0c 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -137,7 +137,7 @@ class account_bank_statement(osv.osv): states={'confirm':[('readonly',True)]}), 'balance_end_real': fields.float('Ending Balance', digits_compute=dp.get_precision('Account'), states={'confirm':[('readonly', True)]}), - 'balance_end': fields.function(_end_balance, method=True, string='Balance'), + 'balance_end': fields.function(_end_balance, string='Balance'), 'company_id': fields.related('journal_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True), 'line_ids': fields.one2many('account.bank.statement.line', 'statement_id', 'Statement lines', @@ -149,7 +149,7 @@ class account_bank_statement(osv.osv): states={'confirm': [('readonly', True)]}, readonly="1", help='When new statement is created the state will be \'Draft\'. \ \n* And after getting confirmation from the bank it will be in \'Confirmed\' state.'), - 'currency': fields.function(_currency, method=True, string='Currency', + 'currency': fields.function(_currency, string='Currency', type='many2one', relation='res.currency'), 'account_id': fields.related('journal_id', 'default_debit_account_id', type='many2one', relation='account.account', string='Account used in this journal', readonly=True, help='used in statement reconciliation domain, but shouldn\'t be used elswhere.'), } diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index 04e780ade30..982383ea2a7 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -58,7 +58,7 @@ class account_cashbox_line(osv.osv): _columns = { 'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')), 'number': fields.integer('Number'), - 'subtotal': fields.function(_sub_total, method=True, string='Sub Total', type='float', digits_compute=dp.get_precision('Account')), + 'subtotal': fields.function(_sub_total, string='Sub Total', type='float', digits_compute=dp.get_precision('Account')), 'starting_id': fields.many2one('account.bank.statement', ondelete='cascade'), 'ending_id': fields.many2one('account.bank.statement', ondelete='cascade'), } @@ -223,10 +223,10 @@ class account_cash_statement(osv.osv): [('draft', 'Draft'), ('confirm', 'Closed'), ('open','Open')], 'State', required=True, states={'confirm': [('readonly', True)]}, readonly="1"), - 'total_entry_encoding': fields.function(_get_sum_entry_encoding, method=True, store=True, string="Cash Transaction", help="Total cash transactions"), + 'total_entry_encoding': fields.function(_get_sum_entry_encoding, store=True, string="Cash Transaction", help="Total cash transactions"), 'closing_date': fields.datetime("Closed On"), - 'balance_end': fields.function(_end_balance, method=True, store=True, string='Balance', help="Closing balance based on Starting Balance and Cash Transactions"), - 'balance_end_cash': fields.function(_balance_end_cash, method=True, store=True, string='Balance', help="Closing balance based on cashBox"), + 'balance_end': fields.function(_end_balance, store=True, string='Balance', help="Closing balance based on Starting Balance and Cash Transactions"), + 'balance_end_cash': fields.function(_balance_end_cash, store=True, string='Balance', help="Closing balance based on cashBox"), 'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'), 'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'), 'name': fields.char('Name', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'), diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 2117d7fc40e..2733ecbd189 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -489,8 +489,8 @@ class account_move_line(osv.osv): 'reconcile_id': fields.many2one('account.move.reconcile', 'Reconcile', readonly=True, ondelete='set null', select=2), 'reconcile_partial_id': fields.many2one('account.move.reconcile', 'Partial Reconcile', readonly=True, ondelete='set null', select=2), 'amount_currency': fields.float('Amount Currency', help="The amount expressed in an optional other currency if it is a multi-currency entry.", digits_compute=dp.get_precision('Account')), - 'amount_residual_currency': fields.function(_amount_residual, method=True, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."), - 'amount_residual': fields.function(_amount_residual, method=True, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."), + 'amount_residual_currency': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."), + 'amount_residual': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."), 'currency_id': fields.many2one('res.currency', 'Currency', help="The optional other currency if it is a multi-currency entry."), 'period_id': fields.many2one('account.period', 'Period', required=True, select=2), 'journal_id': fields.many2one('account.journal', 'Journal', required=True, select=1), @@ -504,13 +504,13 @@ class account_move_line(osv.osv): 'date_created': fields.date('Creation date', select=True), 'analytic_lines': fields.one2many('account.analytic.line', 'move_id', 'Analytic lines'), 'centralisation': fields.selection([('normal','Normal'),('credit','Credit Centralisation'),('debit','Debit Centralisation'),('currency','Currency Adjustment')], 'Centralisation', size=8), - 'balance': fields.function(_balance, fnct_search=_balance_search, method=True, string='Balance'), + 'balance': fields.function(_balance, fnct_search=_balance_search, string='Balance'), 'state': fields.selection([('draft','Unbalanced'), ('valid','Valid')], 'State', readonly=True, help='When new move line is created the state will be \'Draft\'.\n* When all the payments are done it will be in \'Valid\' state.'), 'tax_code_id': fields.many2one('account.tax.code', 'Tax Account', help="The Account can either be a base tax code or a tax code account."), 'tax_amount': fields.float('Tax/Base Amount', digits_compute=dp.get_precision('Account'), select=True, help="If the Tax account is a tax code account, this field will contain the taxed amount.If the tax account is base tax code, "\ "this field will contain the basic amount(without tax)."), - 'invoice': fields.function(_invoice, method=True, string='Invoice', + 'invoice': fields.function(_invoice, string='Invoice', type='many2one', relation='account.invoice', fnct_search=_invoice_search), 'account_tax_id':fields.many2one('account.tax', 'Tax'), 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account'), diff --git a/addons/account/invoice.py b/addons/account/invoice.py index 9d95a5af4ba..8b1b2a0edda 100644 --- a/addons/account/invoice.py +++ b/addons/account/invoice.py @@ -227,21 +227,21 @@ class account_invoice(osv.osv): 'tax_line': fields.one2many('account.invoice.tax', 'invoice_id', 'Tax Lines', readonly=True, states={'draft':[('readonly',False)]}), 'move_id': fields.many2one('account.move', 'Journal Entry', readonly=True, select=1, ondelete='restrict', help="Link to the automatically generated Journal Items."), - 'amount_untaxed': fields.function(_amount_all, method=True, digits_compute=dp.get_precision('Account'), string='Untaxed', + 'amount_untaxed': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Untaxed', store={ 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20), 'account.invoice.tax': (_get_invoice_tax, None, 20), 'account.invoice.line': (_get_invoice_line, ['price_unit','invoice_line_tax_id','quantity','discount','invoice_id'], 20), }, multi='all'), - 'amount_tax': fields.function(_amount_all, method=True, digits_compute=dp.get_precision('Account'), string='Tax', + 'amount_tax': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Tax', store={ 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20), 'account.invoice.tax': (_get_invoice_tax, None, 20), 'account.invoice.line': (_get_invoice_line, ['price_unit','invoice_line_tax_id','quantity','discount','invoice_id'], 20), }, multi='all'), - 'amount_total': fields.function(_amount_all, method=True, digits_compute=dp.get_precision('Account'), string='Total', + 'amount_total': fields.function(_amount_all, digits_compute=dp.get_precision('Account'), string='Total', store={ 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line'], 20), 'account.invoice.tax': (_get_invoice_tax, None, 20), @@ -252,7 +252,7 @@ class account_invoice(osv.osv): 'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}), 'check_total': fields.float('Total', digits_compute=dp.get_precision('Account'), states={'open':[('readonly',True)],'close':[('readonly',True)]}), - 'reconciled': fields.function(_reconciled, method=True, string='Paid/Reconciled', type='boolean', + 'reconciled': fields.function(_reconciled, string='Paid/Reconciled', type='boolean', store={ 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 50), # Check if we can remove ? 'account.move.line': (_get_invoice_from_line, None, 50), @@ -260,8 +260,8 @@ class account_invoice(osv.osv): }, help="The Journal Entry of the invoice have been totally reconciled with one or several Journal Entries of payment."), 'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account', help='Bank Account Number, Company bank account if Invoice is customer or supplier refund, otherwise Partner bank account number.', readonly=True, states={'draft':[('readonly',False)]}), - 'move_lines':fields.function(_get_lines, method=True, type='many2many', relation='account.move.line', string='Entry Lines'), - 'residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual', + 'move_lines':fields.function(_get_lines, type='many2many', relation='account.move.line', string='Entry Lines'), + 'residual': fields.function(_amount_residual, digits_compute=dp.get_precision('Account'), string='Residual', store={ 'account.invoice': (lambda self, cr, uid, ids, c={}: ids, ['invoice_line','move_id'], 50), 'account.invoice.tax': (_get_invoice_tax, None, 50), @@ -270,7 +270,7 @@ class account_invoice(osv.osv): 'account.move.reconcile': (_get_invoice_from_reconcile, None, 50), }, help="Remaining amount due."), - 'payment_ids': fields.function(_compute_lines, method=True, relation='account.move.line', type="many2many", string='Payments'), + 'payment_ids': fields.function(_compute_lines, relation='account.move.line', type="many2many", string='Payments'), 'move_name': fields.char('Journal Entry', size=64, readonly=True, states={'draft':[('readonly',False)]}), 'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}), 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position', readonly=True, states={'draft':[('readonly',False)]}) @@ -1282,7 +1282,7 @@ class account_invoice_line(osv.osv): 'product_id': fields.many2one('product.product', 'Product', ondelete='set null'), 'account_id': fields.many2one('account.account', 'Account', required=True, domain=[('type','<>','view'), ('type', '<>', 'closed')], help="The income or expense account related to the selected product."), 'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Account')), - 'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', type="float", + 'price_subtotal': fields.function(_amount_line, string='Subtotal', type="float", digits_compute= dp.get_precision('Account'), store=True), 'quantity': fields.float('Quantity', required=True), 'discount': fields.float('Discount (%)', digits_compute= dp.get_precision('Account')), @@ -1505,8 +1505,8 @@ class account_invoice_tax(osv.osv): 'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', help="The tax basis of the tax declaration."), 'tax_amount': fields.float('Tax Code Amount', digits_compute=dp.get_precision('Account')), 'company_id': fields.related('account_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True), - 'factor_base': fields.function(_count_factor, method=True, string='Multipication factor for Base code', type='float', multi="all"), - 'factor_tax': fields.function(_count_factor, method=True, string='Multipication factor Tax code', type='float', multi="all") + 'factor_base': fields.function(_count_factor, string='Multipication factor for Base code', type='float', multi="all"), + 'factor_tax': fields.function(_count_factor, string='Multipication factor Tax code', type='float', multi="all") } def base_change(self, cr, uid, ids, base, currency_id=False, company_id=False, date_invoice=False): diff --git a/addons/account/partner.py b/addons/account/partner.py index 9e2aafe849a..984c7e037e0 100644 --- a/addons/account/partner.py +++ b/addons/account/partner.py @@ -142,8 +142,8 @@ class res_partner(osv.osv): _columns = { 'credit': fields.function(_credit_debit_get, - fnct_search=_credit_search, method=True, string='Total Receivable', multi='dc', help="Total amount this customer owes you."), - 'debit': fields.function(_credit_debit_get, fnct_search=_debit_search, method=True, string='Total Payable', multi='dc', help="Total amount you have to pay to this supplier."), + fnct_search=_credit_search, string='Total Receivable', multi='dc', help="Total amount this customer owes you."), + 'debit': fields.function(_credit_debit_get, fnct_search=_debit_search, string='Total Payable', multi='dc', help="Total amount you have to pay to this supplier."), 'debit_limit': fields.float('Payable Limit'), 'property_account_payable': fields.property( 'account.account', diff --git a/addons/account/report/account_report.py b/addons/account/report/account_report.py index 6b22dc21fdf..6666b1ccd83 100644 --- a/addons/account/report/account_report.py +++ b/addons/account/report/account_report.py @@ -114,7 +114,7 @@ class report_aged_receivable(osv.osv): _columns = { 'name': fields.char('Month Range', size=7, readonly=True), - 'balance': fields.function(_calc_bal, method=True, string='Balance', readonly=True), + 'balance': fields.function(_calc_bal, string='Balance', readonly=True), } def init(self, cr, uid=1): diff --git a/addons/account/report/account_treasury_report.py b/addons/account/report/account_treasury_report.py index 4d3ec449204..fce3661b4c4 100644 --- a/addons/account/report/account_treasury_report.py +++ b/addons/account/report/account_treasury_report.py @@ -47,8 +47,8 @@ class account_treasury_report(osv.osv): 'credit': fields.float('Credit', readonly=True), 'balance': fields.float('Balance', readonly=True), 'date': fields.date('Beginning of Period Date', readonly=True), - 'starting_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), method=True, string='Starting Balance', multi='balance'), - 'ending_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), method=True, string='Ending Balance', multi='balance'), + 'starting_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), string='Starting Balance', multi='balance'), + 'ending_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), string='Ending Balance', multi='balance'), 'company_id': fields.many2one('res.company', 'Company', readonly=True), } diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 11f92614b73..22eb9401ad7 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -375,49 +375,49 @@ class account_analytic_account(osv.osv): return res _columns ={ - 'ca_invoiced': fields.function(_ca_invoiced_calc, method=True, type='float', string='Invoiced Amount', + 'ca_invoiced': fields.function(_ca_invoiced_calc, type='float', string='Invoiced Amount', help="Total customer invoiced amount for this account.", digits_compute=dp.get_precision('Account')), - 'total_cost': fields.function(_total_cost_calc, method=True, type='float', string='Total Costs', + 'total_cost': fields.function(_total_cost_calc, type='float', string='Total Costs', help="Total of costs for this account. It includes real costs (from invoices) and indirect costs, like time spent on timesheets.", digits_compute=dp.get_precision('Account')), - 'ca_to_invoice': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Uninvoiced Amount', + 'ca_to_invoice': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Amount', help="If invoice from analytic account, the remaining amount you can invoice to the customer based on the total costs.", digits_compute=dp.get_precision('Account')), - 'ca_theorical': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Theoretical Revenue', + 'ca_theorical': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Theoretical Revenue', help="Based on the costs you had on the project, what would have been the revenue if all these costs have been invoiced at the normal sale price provided by the pricelist.", digits_compute=dp.get_precision('Account')), - 'hours_quantity': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Hours Tot', + 'hours_quantity': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Hours Tot', help="Number of hours you spent on the analytic account (from timesheet). It computes on all journal of type 'general'."), - 'last_invoice_date': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='date', string='Last Invoice Date', + 'last_invoice_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Last Invoice Date', help="If invoice from the costs, this is the date of the latest invoiced."), - 'last_worked_invoiced_date': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='date', string='Date of Last Invoiced Cost', + 'last_worked_invoiced_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Invoiced Cost', help="If invoice from the costs, this is the date of the latest work or cost that have been invoiced."), - 'last_worked_date': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='date', string='Date of Last Cost/Work', + 'last_worked_date': fields.function(_analysis_all, multi='analytic_analysis', type='date', string='Date of Last Cost/Work', help="Date of the latest work done on this account."), - 'hours_qtt_non_invoiced': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='float', string='Uninvoiced Hours', + 'hours_qtt_non_invoiced': fields.function(_analysis_all, multi='analytic_analysis', type='float', string='Uninvoiced Hours', help="Number of hours (from journal of type 'general') that can be invoiced if you invoice based on analytic account."), - 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, method=True, type='float', string='Invoiced Hours', + 'hours_qtt_invoiced': fields.function(_hours_qtt_invoiced_calc, type='float', string='Invoiced Hours', help="Number of hours that can be invoiced plus those that already have been invoiced."), - 'remaining_hours': fields.function(_remaining_hours_calc, method=True, type='float', string='Remaining Hours', + 'remaining_hours': fields.function(_remaining_hours_calc, type='float', string='Remaining Hours', help="Computed using the formula: Maximum Quantity - Hours Tot."), - 'remaining_ca': fields.function(_remaining_ca_calc, method=True, type='float', string='Remaining Revenue', + 'remaining_ca': fields.function(_remaining_ca_calc, type='float', string='Remaining Revenue', help="Computed using the formula: Max Invoice Price - Invoiced Amount.", digits_compute=dp.get_precision('Account')), - 'revenue_per_hour': fields.function(_revenue_per_hour_calc, method=True, type='float', string='Revenue per Hours (real)', + 'revenue_per_hour': fields.function(_revenue_per_hour_calc, type='float', string='Revenue per Hours (real)', help="Computed using the formula: Invoiced Amount / Hours Tot.", digits_compute=dp.get_precision('Account')), - 'real_margin': fields.function(_real_margin_calc, method=True, type='float', string='Real Margin', + 'real_margin': fields.function(_real_margin_calc, type='float', string='Real Margin', help="Computed using the formula: Invoiced Amount - Total Costs.", digits_compute=dp.get_precision('Account')), - 'theorical_margin': fields.function(_theorical_margin_calc, method=True, type='float', string='Theoretical Margin', + 'theorical_margin': fields.function(_theorical_margin_calc, type='float', string='Theoretical Margin', help="Computed using the formula: Theorial Revenue - Total Costs", digits_compute=dp.get_precision('Account')), - 'real_margin_rate': fields.function(_real_margin_rate_calc, method=True, type='float', string='Real Margin Rate (%)', + 'real_margin_rate': fields.function(_real_margin_rate_calc, type='float', string='Real Margin Rate (%)', help="Computes using the formula: (Real Margin / Total Costs) * 100.", digits_compute=dp.get_precision('Account')), - 'month_ids': fields.function(_analysis_all, method=True, multi='analytic_analysis', type='many2many', relation='account_analytic_analysis.summary.month', string='Month'), - 'user_ids': fields.function(_analysis_all, method=True, multi='analytic_analysis', type="many2many", relation='account_analytic_analysis.summary.user', string='User'), + 'month_ids': fields.function(_analysis_all, multi='analytic_analysis', type='many2many', relation='account_analytic_analysis.summary.month', string='Month'), + 'user_ids': fields.function(_analysis_all, multi='analytic_analysis', type="many2many", relation='account_analytic_analysis.summary.user', string='User'), } account_analytic_account() @@ -456,7 +456,7 @@ class account_analytic_account_summary_user(osv.osv): _columns = { 'account_id': fields.many2one('account.analytic.account', 'Analytic Account', readonly=True), - 'unit_amount': fields.function(_unit_amount, method=True, type='float', + 'unit_amount': fields.function(_unit_amount, type='float', string='Total Time'), 'user': fields.many2one('res.users', 'User'), } @@ -620,7 +620,7 @@ class account_analytic_account_summary_month(osv.osv): _columns = { 'account_id': fields.many2one('account.analytic.account', 'Analytic Account', readonly=True), - 'unit_amount': fields.function(_unit_amount, method=True, type='float', string='Total Time'), + 'unit_amount': fields.function(_unit_amount, type='float', string='Total Time'), 'month': fields.char('Month', size=32, readonly=True), } diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py index 990f53e91ef..c8ab5334d8a 100644 --- a/addons/account_analytic_plans/account_analytic_plans.py +++ b/addons/account_analytic_plans/account_analytic_plans.py @@ -61,7 +61,7 @@ class account_analytic_line(osv.osv): return res _columns = { - 'amount_currency': fields.function(_get_amount, string="Amount Currency", type="float", method=True, store=True, help="The amount expressed in the related account currency if not equal to the company one.", readonly=True), + 'amount_currency': fields.function(_get_amount, string="Amount Currency", type="float", store=True, help="The amount expressed in the related account currency if not equal to the company one.", readonly=True), 'percentage': fields.float('Percentage') } diff --git a/addons/account_budget/account_budget.py b/addons/account_budget/account_budget.py index 12caba17374..7d9666ae5ac 100644 --- a/addons/account_budget/account_budget.py +++ b/addons/account_budget/account_budget.py @@ -196,9 +196,9 @@ class crossovered_budget_lines(osv.osv): 'date_to': fields.date('End Date', required=True), 'paid_date': fields.date('Paid Date'), 'planned_amount':fields.float('Planned Amount', required=True, digits_compute=dp.get_precision('Account')), - 'practical_amount':fields.function(_prac, method=True, string='Practical Amount', type='float', digits_compute=dp.get_precision('Account')), - 'theoritical_amount':fields.function(_theo, method=True, string='Theoretical Amount', type='float', digits_compute=dp.get_precision('Account')), - 'percentage':fields.function(_perc, method=True, string='Percentage', type='float'), + 'practical_amount':fields.function(_prac, string='Practical Amount', type='float', digits_compute=dp.get_precision('Account')), + 'theoritical_amount':fields.function(_theo, string='Theoretical Amount', type='float', digits_compute=dp.get_precision('Account')), + 'percentage':fields.function(_perc, string='Percentage', type='float'), 'company_id': fields.related('crossovered_budget_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True) } diff --git a/addons/account_invoice_layout/account_invoice_layout.py b/addons/account_invoice_layout/account_invoice_layout.py index 3337710420f..b0fb92c9abb 100644 --- a/addons/account_invoice_layout/account_invoice_layout.py +++ b/addons/account_invoice_layout/account_invoice_layout.py @@ -161,7 +161,7 @@ class account_invoice_line(osv.osv): ('break','Page Break'),] ,'Type', select=True, required=True), 'sequence': fields.integer('Sequence Number', help="Gives the sequence order when displaying a list of invoice lines."), - 'functional_field': fields.function(_fnct, arg=None, fnct_inv=None, fnct_inv_arg=None, type='char', fnct_search=None, obj=None, method=True, store=False, string="Source Account"), + 'functional_field': fields.function(_fnct, arg=None, fnct_inv=None, fnct_inv_arg=None, type='char', fnct_search=None, obj=None, store=False, string="Source Account"), } def _default_account(self, cr, uid, context=None): diff --git a/addons/account_payment/account_invoice.py b/addons/account_payment/account_invoice.py index 1f882b48421..fd787863c7d 100644 --- a/addons/account_payment/account_invoice.py +++ b/addons/account_payment/account_invoice.py @@ -42,7 +42,7 @@ class Invoice(osv.osv): return res _columns = { - 'amount_to_pay': fields.function(_amount_to_pay, method=True, + 'amount_to_pay': fields.function(_amount_to_pay, type='float', string='Amount to be paid', help='The amount which should be paid at the current date\n' \ 'minus the amount which is already in payment order'), diff --git a/addons/account_payment/account_move_line.py b/addons/account_payment/account_move_line.py index 68bb33ca4e5..24f9486be95 100644 --- a/addons/account_payment/account_move_line.py +++ b/addons/account_payment/account_move_line.py @@ -111,7 +111,7 @@ class account_move_line(osv.osv): return line2bank _columns = { - 'amount_to_pay': fields.function(amount_to_pay, method=True, + 'amount_to_pay': fields.function(amount_to_pay, type='float', string='Amount to pay', fnct_search=_to_pay_search), } diff --git a/addons/account_payment/account_payment.py b/addons/account_payment/account_payment.py index 19de746b7c9..a7b803b2d3b 100644 --- a/addons/account_payment/account_payment.py +++ b/addons/account_payment/account_payment.py @@ -96,7 +96,7 @@ class payment_order(osv.osv): ('done', 'Done')], 'State', select=True, help='When an order is placed the state is \'Draft\'.\n Once the bank is confirmed the state is set to \'Confirmed\'.\n Then the order is paid the state is \'Done\'.'), 'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done': [('readonly', True)]}), - 'total': fields.function(_total, string="Total", method=True, type='float'), + 'total': fields.function(_total, string="Total", type='float'), 'user_id': fields.many2one('res.users', 'User', required=True, states={'done': [('readonly', True)]}), 'date_prefered': fields.selection([ ('now', 'Directly'), @@ -348,10 +348,10 @@ class payment_line(osv.osv): help='Payment amount in the company currency'), 'ml_date_created': fields.function(_get_ml_created_date, string="Effective Date", method=True, type='date', help="Invoice Effective Date"), - 'ml_maturity_date': fields.function(_get_ml_maturity_date, method=True, type='date', string='Due Date'), - 'ml_inv_ref': fields.function(_get_ml_inv_ref, method=True, type='many2one', relation='account.invoice', string='Invoice Ref.'), - 'info_owner': fields.function(info_owner, string="Owner Account", method=True, type="text", help='Address of the Main Partner'), - 'info_partner': fields.function(info_partner, string="Destination Account", method=True, type="text", help='Address of the Ordering Customer.'), + 'ml_maturity_date': fields.function(_get_ml_maturity_date, type='date', string='Due Date'), + 'ml_inv_ref': fields.function(_get_ml_inv_ref, type='many2one', relation='account.invoice', string='Invoice Ref.'), + 'info_owner': fields.function(info_owner, string="Owner Account", type="text", help='Address of the Main Partner'), + 'info_partner': fields.function(info_partner, string="Destination Account", type="text", help='Address of the Ordering Customer.'), 'date': fields.date('Payment Date', help="If no payment date is specified, the bank will treat this payment line directly"), 'create_date': fields.datetime('Created', readonly=True), 'state': fields.selection([('normal','Free'), ('structured','Structured')], 'Communication Type', required=True), diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index b4422cd8051..dee3d81832b 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -226,7 +226,7 @@ class account_voucher(osv.osv): 'writeoff_acc_id': fields.many2one('account.account', 'Write-Off account', readonly=True, states={'draft': [('readonly', False)]}), 'comment': fields.char('Write-Off Comment', size=64, required=True, readonly=True, states={'draft': [('readonly', False)]}), 'analytic_id': fields.many2one('account.analytic.account','Write-Off Analytic Account', readonly=True, states={'draft': [('readonly', False)]}), - 'writeoff_amount': fields.function(_get_writeoff_amount, method=True, string='Write-Off Amount', type='float', readonly=True), + 'writeoff_amount': fields.function(_get_writeoff_amount, string='Write-Off Amount', type='float', readonly=True), } _defaults = { 'period_id': _get_period, @@ -845,8 +845,8 @@ class account_voucher_line(osv.osv): 'move_line_id': fields.many2one('account.move.line', 'Journal Item'), 'date_original': fields.related('move_line_id','date', type='date', relation='account.move.line', string='Date', readonly=1), 'date_due': fields.related('move_line_id','date_maturity', type='date', relation='account.move.line', string='Due Date', readonly=1), - 'amount_original': fields.function(_compute_balance, method=True, multi='dc', type='float', string='Original Amount', store=True), - 'amount_unreconciled': fields.function(_compute_balance, method=True, multi='dc', type='float', string='Open Balance', store=True), + 'amount_original': fields.function(_compute_balance, multi='dc', type='float', string='Original Amount', store=True), + 'amount_unreconciled': fields.function(_compute_balance, multi='dc', type='float', string='Open Balance', store=True), 'company_id': fields.related('voucher_id','company_id', relation='res.company', type='many2one', string='Company', store=True, readonly=True), } _defaults = { @@ -991,7 +991,7 @@ class account_bank_statement_line(osv.osv): _columns = { 'amount_reconciled': fields.function(_amount_reconciled, - string='Amount reconciled', method=True, type='float'), + string='Amount reconciled', type='float'), 'voucher_id': fields.many2one('account.voucher', 'Payment'), } diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py index d822c382c91..a155352adf8 100644 --- a/addons/analytic/analytic.py +++ b/addons/analytic/analytic.py @@ -149,18 +149,18 @@ class account_analytic_account(osv.osv): _columns = { 'name': fields.char('Account Name', size=128, required=True), - 'complete_name': fields.function(_complete_name_calc, method=True, type='char', string='Full Account Name'), + 'complete_name': fields.function(_complete_name_calc, type='char', string='Full Account Name'), 'code': fields.char('Account Code', size=24, select=True), 'type': fields.selection([('view','View'), ('normal','Normal')], 'Account Type', help='If you select the View Type, it means you won\'t allow to create journal entries using that account.'), 'description': fields.text('Description'), 'parent_id': fields.many2one('account.analytic.account', 'Parent Analytic Account', select=2), 'child_ids': fields.one2many('account.analytic.account', 'parent_id', 'Child Accounts'), - 'child_complete_ids': fields.function(_child_compute, relation='account.analytic.account', method=True, string="Account Hierarchy", type='many2many'), + 'child_complete_ids': fields.function(_child_compute, relation='account.analytic.account', string="Account Hierarchy", type='many2many'), 'line_ids': fields.one2many('account.analytic.line', 'account_id', 'Analytic Entries'), - 'balance': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), - 'debit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), - 'credit': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), - 'quantity': fields.function(_debit_credit_bal_qtty, method=True, type='float', string='Quantity', multi='debit_credit_bal_qtty'), + 'balance': fields.function(_debit_credit_bal_qtty, type='float', string='Balance', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), + 'debit': fields.function(_debit_credit_bal_qtty, type='float', string='Debit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), + 'credit': fields.function(_debit_credit_bal_qtty, type='float', string='Credit', multi='debit_credit_bal_qtty', digits_compute=dp.get_precision('Account')), + 'quantity': fields.function(_debit_credit_bal_qtty, type='float', string='Quantity', multi='debit_credit_bal_qtty'), 'quantity_max': fields.float('Maximum Quantity', help='Sets the higher limit of quantity of hours.'), 'partner_id': fields.many2one('res.partner', 'Partner'), 'contact_id': fields.many2one('res.partner.address', 'Contact'), @@ -175,7 +175,7 @@ class account_analytic_account(osv.osv): \n* And finally when all the transactions are over, it can be in \'Close\' state. \ \n* The project can be in either if the states \'Template\' and \'Running\'.\n If it is template then we can make projects based on the template projects. If its in \'Running\' state it is a normal project.\ \n If it is to be reviewed then the state is \'Pending\'.\n When the project is completed the state is set to \'Done\'.'), - 'currency_id': fields.function(_currency, fnct_inv=_set_company_currency, method=True, + 'currency_id': fields.function(_currency, fnct_inv=_set_company_currency, store = { 'res.company': (_get_analytic_account, ['currency_id'], 10), }, string='Currency', type='many2one', relation='res.currency'), diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py index 2814227015a..c4a2d9f0488 100644 --- a/addons/anonymization/anonymization.py +++ b/addons/anonymization/anonymization.py @@ -240,10 +240,10 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): _columns = { 'name': fields.char(size='64', string='File Name'), - 'summary': fields.function(_get_summary, method=True, type='text', string='Summary'), + 'summary': fields.function(_get_summary, type='text', string='Summary'), 'file_export': fields.binary(string='Export'), 'file_import': fields.binary(string='Import'), - 'state': fields.function(_get_state, method=True, string='State', type='selection', selection=ANONYMIZATION_STATES, readonly=False), + 'state': fields.function(_get_state, string='State', type='selection', selection=ANONYMIZATION_STATES, readonly=False), 'msg': fields.text(string='Message'), } diff --git a/addons/auction/auction.py b/addons/auction/auction.py index 0b2fc467f88..685b6ee3368 100644 --- a/addons/auction/auction.py +++ b/addons/auction/auction.py @@ -95,12 +95,12 @@ class auction_dates(osv.osv): 'seller_costs': fields.many2many('account.tax', 'auction_seller_taxes_rel', 'auction_id', 'tax_id', 'Seller Costs', help="Account tax for seller"), 'acc_income': fields.many2one('account.account', 'Income Account', required=True), 'acc_expense': fields.many2one('account.account', 'Expense Account', required=True), - 'adj_total': fields.function(_adjudication_get, method=True, string='Total Adjudication', store=True), + 'adj_total': fields.function(_adjudication_get, string='Total Adjudication', store=True), 'state': fields.selection((('draft', 'Draft'), ('closed', 'Closed')), 'State', select=1, readonly=True, help='When auction starts the state is \'Draft\'.\n At the end of auction, the state becomes \'Closed\'.'), 'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account', required=False), - 'buyer_invoice_history': fields.function(_get_invoice, relation='account.invoice', method=True, string="Buyer Invoice", type='many2many', multi=True), - 'seller_invoice_history': fields.function(_get_invoice, relation='account.invoice', method=True, string="Seller Invoice", type='many2many', multi=True), + 'buyer_invoice_history': fields.function(_get_invoice, relation='account.invoice', string="Buyer Invoice", type='many2many', multi=True), + 'seller_invoice_history': fields.function(_get_invoice, relation='account.invoice', string="Seller Invoice", type='many2many', multi=True), } _defaults = { @@ -382,8 +382,8 @@ class auction_lots(osv.osv): 'vnd_lim': fields.float('Seller limit'), 'vnd_lim_net': fields.boolean('Net limit ?', readonly=True), 'image': fields.binary('Image', help="Object Image"), - 'paid_vnd':fields.function(_getprice, string='Seller Paid', method=True, type='boolean', store=True, multi="paid_vnd", help="When state of Seller Invoice is 'Paid', this field is selected as True."), - 'paid_ach':fields.function(_getprice, string='Buyer Invoice Reconciled', method=True, type='boolean', store=True, multi="paid_ach", help="When state of Buyer Invoice is 'Paid', this field is selected as True."), + 'paid_vnd':fields.function(_getprice, string='Seller Paid', type='boolean', store=True, multi="paid_vnd", help="When state of Seller Invoice is 'Paid', this field is selected as True."), + 'paid_ach':fields.function(_getprice, string='Buyer Invoice Reconciled', type='boolean', store=True, multi="paid_ach", help="When state of Buyer Invoice is 'Paid', this field is selected as True."), 'state': fields.selection(( ('draft', 'Draft'), ('unsold', 'Unsold'), @@ -394,14 +394,14 @@ class auction_lots(osv.osv): \n* The \'Unsold\' state is used when object does not sold for long time, user can also set it as draft state after unsold. \ \n* The \'Paid\' state is used when user pay for the object \ \n* The \'Sold\' state is used when user buy the object.'), - 'buyer_price': fields.function(_getprice, method=True, string='Buyer price', store=True, multi="buyer_price", help="Buyer Price"), - 'seller_price': fields.function(_getprice, method=True, string='Seller price', store=True, multi="seller_price", help="Seller Price"), - 'gross_revenue':fields.function(_getprice, method=True, string='Gross revenue', store=True, multi="gross_revenue", help="Buyer Price - Seller Price"), - 'gross_margin':fields.function(_getprice, method=True, string='Gross Margin (%)', store=True, multi="gross_margin", help="(Gross Revenue*100.0)/ Object Price"), - 'costs':fields.function(_getprice, method=True, string='Indirect costs', store=True, multi="costs", help="Deposit cost"), + 'buyer_price': fields.function(_getprice, string='Buyer price', store=True, multi="buyer_price", help="Buyer Price"), + 'seller_price': fields.function(_getprice, string='Seller price', store=True, multi="seller_price", help="Seller Price"), + 'gross_revenue':fields.function(_getprice, string='Gross revenue', store=True, multi="gross_revenue", help="Buyer Price - Seller Price"), + 'gross_margin':fields.function(_getprice, string='Gross Margin (%)', store=True, multi="gross_margin", help="(Gross Revenue*100.0)/ Object Price"), + 'costs':fields.function(_getprice, string='Indirect costs', store=True, multi="costs", help="Deposit cost"), 'statement_id': fields.many2many('account.bank.statement.line', 'auction_statement_line_rel', 'auction_id', 'statement', 'Payment', help="Bank statement line for given buyer"), - 'net_revenue':fields.function(_getprice, method=True, string='Net revenue', store=True, multi="net_revenue", help="Buyer Price - Seller Price - Indirect Cost"), - 'net_margin':fields.function(_getprice, method=True, string='Net Margin (%)', store=True, multi="net_margin", help="(Net Revenue * 100)/ Object Price"), + 'net_revenue':fields.function(_getprice, string='Net revenue', store=True, multi="net_revenue", help="Buyer Price - Seller Price - Indirect Cost"), + 'net_margin':fields.function(_getprice, string='Net Margin (%)', store=True, multi="net_margin", help="(Net Revenue * 100)/ Object Price"), } _defaults = { 'state':lambda *a: 'draft', diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 4df126e191e..5f24b08884a 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -341,26 +341,26 @@ class calendar_attendee(osv.osv): help="Status of the attendee's participation"), 'rsvp': fields.boolean('Required Reply?', help="Indicats whether the favor of a reply is requested"), - 'delegated_to': fields.function(_compute_data, method=True, \ + 'delegated_to': fields.function(_compute_data, \ string='Delegated To', type="char", size=124, store=True, \ multi='delegated_to', help="The users that the original \ request was delegated to"), - 'delegated_from': fields.function(_compute_data, method=True, string=\ + 'delegated_from': fields.function(_compute_data, string=\ 'Delegated From', type="char", store=True, size=124, multi='delegated_from'), 'parent_ids': fields.many2many('calendar.attendee', 'calendar_attendee_parent_rel', \ 'attendee_id', 'parent_id', 'Delegrated From'), 'child_ids': fields.many2many('calendar.attendee', 'calendar_attendee_child_rel', \ 'attendee_id', 'child_id', 'Delegrated To'), - 'sent_by': fields.function(_compute_data, method=True, string='Sent By', \ + 'sent_by': fields.function(_compute_data, string='Sent By', \ type="char", multi='sent_by', store=True, size=124, \ help="Specify the user that is acting on behalf of the calendar user"), - 'sent_by_uid': fields.function(_compute_data, method=True, string='Sent By User', \ + 'sent_by_uid': fields.function(_compute_data, string='Sent By User', \ type="many2one", relation="res.users", multi='sent_by_uid'), - 'cn': fields.function(_compute_data, method=True, string='Common name', \ + 'cn': fields.function(_compute_data, string='Common name', \ type="char", size=124, multi='cn', store=True), 'dir': fields.char('URI Reference', size=124, help="Reference to the URI\ that points to the directory information corresponding to the attendee."), - 'language': fields.function(_compute_data, method=True, string='Language', \ + 'language': fields.function(_compute_data, string='Language', \ type="selection", selection=_lang_get, multi='language', \ store=True, help="To specify the language for text values in a\ property or property parameter."), @@ -369,9 +369,9 @@ property or property parameter."), 'partner_id': fields.related('partner_address_id', 'partner_id', type='many2one', \ relation='res.partner', string='Partner', help="Partner related to contact"), 'email': fields.char('Email', size=124, help="Email of Invited Person"), - 'event_date': fields.function(_compute_data, method=True, string='Event Date', \ + 'event_date': fields.function(_compute_data, string='Event Date', \ type="datetime", multi='event_date'), - 'event_end_date': fields.function(_compute_data, method=True, \ + 'event_end_date': fields.function(_compute_data, \ string='Event End Date', type="datetime", \ multi='event_end_date'), 'ref': fields.reference('Event Ref', selection=_links_get, size=128), @@ -1022,7 +1022,7 @@ class calendar_event(osv.osv): defines the list of date/time exceptions for a recurring calendar component."), 'exrule': fields.char('Exception Rule', size=352, help="Defines a \ rule or repeating pattern of time to exclude from the recurring rule."), - 'rrule': fields.function(_get_rulestring, type='char', size=124, method=True, \ + 'rrule': fields.function(_get_rulestring, type='char', size=124, \ store=True, string='Recurrent Rule'), 'rrule_type': fields.selection([('none', ''), ('daily', 'Daily'), \ ('weekly', 'Weekly'), ('monthly', 'Monthly'), \ @@ -1552,7 +1552,7 @@ class calendar_todo(osv.osv): return self.write(cr, uid, id, { 'date_start': value }, context=context) _columns = { - 'date': fields.function(_get_date, method=True, fnct_inv=_set_date, \ + 'date': fields.function(_get_date, fnct_inv=_set_date, \ string='Duration', store=True, type='datetime'), 'duration': fields.integer('Duration'), } @@ -1750,7 +1750,7 @@ class res_users(osv.osv): _columns = { 'availability': fields.function(_get_user_avail_fun, type='selection', \ selection=[('free', 'Free'), ('busy', 'Busy')], \ - string='Free/Busy', method=True), + string='Free/Busy'), } res_users() diff --git a/addons/base_contact/base_contact.py b/addons/base_contact/base_contact.py index 8a003ec7cf1..cf0bc610be8 100644 --- a/addons/base_contact/base_contact.py +++ b/addons/base_contact/base_contact.py @@ -64,7 +64,7 @@ class res_partner_contact(osv.osv): relation='res.partner', string='Main Employer'), 'function': fields.related('job_ids', 'function', type='char', \ string='Main Function'), - 'job_id': fields.function(_main_job, method=True, type='many2one',\ + 'job_id': fields.function(_main_job, type='many2one',\ relation='res.partner.job', string='Main Job'), 'email': fields.char('E-Mail', size=240), 'comment': fields.text('Notes', translate=True), diff --git a/addons/base_report_creator/base_report_creator.py b/addons/base_report_creator/base_report_creator.py index a026a077c85..29699b9000d 100644 --- a/addons/base_report_creator/base_report_creator.py +++ b/addons/base_report_creator/base_report_creator.py @@ -415,7 +415,7 @@ class report_creator(osv.osv): 'model_ids': fields.many2many('ir.model', 'base_report_creator_report_model_rel', 'report_id', 'model_id', 'Reported Objects'), 'field_ids': fields.one2many('base_report_creator.report.fields', 'report_id', 'Fields to Display'), 'filter_ids': fields.one2many('base_report_creator.report.filter', 'report_id', 'Filters'), - 'sql_query': fields.function(_sql_query_get, method=True, type="text", string='SQL Query', store=True), + 'sql_query': fields.function(_sql_query_get, type="text", string='SQL Query', store=True), 'group_ids': fields.many2many('res.groups', 'base_report_creator_group_rel', 'report_id', 'group_id', 'Authorized Groups'), 'menu_id': fields.many2one('ir.ui.menu', "Menu", readonly=True), } diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 7003bba2a8e..0b1e8db7bbb 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -682,7 +682,7 @@ class crm_case_section(osv.osv): _columns = { 'name': fields.char('Sales Team', size=64, required=True, translate=True), - 'complete_name': fields.function(get_full_name, method=True, type='char', size=256, readonly=True, store=True), + 'complete_name': fields.function(get_full_name, type='char', size=256, readonly=True, store=True), 'code': fields.char('Code', size=8), 'active': fields.boolean('Active', help="If the active field is set to "\ "true, it will allow you to hide the sales team without removing it."), diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 11f465d8e39..a07974f4fd0 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -170,7 +170,7 @@ class crm_lead(crm_case, osv.osv): \nWhen the case is over, the state is set to \'Done\'.\ \nIf the case needs to be reviewed then the state is set to \'Pending\'.'), 'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('model','=',_name)]), - 'subjects': fields.function(_get_email_subject, fnct_search=_history_search, string='Subject of Email', method=True, type='char', size=64), + 'subjects': fields.function(_get_email_subject, fnct_search=_history_search, string='Subject of Email', type='char', size=64), } diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py index 6d3d68ef881..440bbdfc3bf 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/crm_meeting.py @@ -125,7 +125,7 @@ class calendar_attendee(osv.osv): return result _columns = { - 'categ_id': fields.function(_compute_data, method=True, \ + 'categ_id': fields.function(_compute_data, \ string='Event Type', type="many2one", \ relation="crm.case.categ", multi='categ_id'), } diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index aceee36e0a2..7ad3f7fff5f 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -63,7 +63,7 @@ class delivery_carrier(osv.osv): 'partner_id': fields.many2one('res.partner', 'Carrier Partner', required=True), 'product_id': fields.many2one('product.product', 'Delivery Product', required=True), 'grids_id': fields.one2many('delivery.grid', 'carrier_id', 'Delivery Grids'), - 'price' : fields.function(get_price, method=True,string='Price'), + 'price' : fields.function(get_price,string='Price'), 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery carrier without removing it.") } _defaults = { diff --git a/addons/delivery/stock.py b/addons/delivery/stock.py index d1ffb7ba968..05074268220 100644 --- a/addons/delivery/stock.py +++ b/addons/delivery/stock.py @@ -54,12 +54,12 @@ class stock_picking(osv.osv): _columns = { 'carrier_id':fields.many2one("delivery.carrier","Carrier"), 'volume': fields.float('Volume'), - 'weight': fields.function(_cal_weight, method=True, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_weight', + 'weight': fields.function(_cal_weight, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_weight', store={ 'stock.picking': (lambda self, cr, uid, ids, c={}: ids, ['move_lines'], 20), 'stock.move': (_get_picking_line, ['product_id','product_qty','product_uom','product_uos_qty'], 20), }), - 'weight_net': fields.function(_cal_weight, method=True, type='float', string='Net Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_weight', + 'weight_net': fields.function(_cal_weight, type='float', string='Net Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_weight', store={ 'stock.picking': (lambda self, cr, uid, ids, c={}: ids, ['move_lines'], 20), 'stock.move': (_get_picking_line, ['product_id','product_qty','product_uom','product_uos_qty'], 20), @@ -158,11 +158,11 @@ class stock_move(osv.osv): return res _columns = { - 'weight': fields.function(_cal_move_weight, method=True, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_move_weight', + 'weight': fields.function(_cal_move_weight, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_move_weight', store={ 'stock.move': (lambda self, cr, uid, ids, c=None: ids, ['product_id', 'product_qty', 'product_uom'], 20), }), - 'weight_net': fields.function(_cal_move_weight, method=True, type='float', string='Net weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_move_weight', + 'weight_net': fields.function(_cal_move_weight, type='float', string='Net weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_move_weight', store={ 'stock.move': (lambda self, cr, uid, ids, c=None: ids, ['product_id', 'product_qty', 'product_uom'], 20), }), diff --git a/addons/document/directory_report.py b/addons/document/directory_report.py index 1665a7abf68..2726fcd5462 100644 --- a/addons/document/directory_report.py +++ b/addons/document/directory_report.py @@ -56,7 +56,7 @@ class ir_action_report_xml(osv.osv): return [('id','in',report_id)] _columns={ - 'model_id' : fields.function(_model_get, fnct_search=_model_search, method=True, string='Model Id'), + 'model_id' : fields.function(_model_get, fnct_search=_model_search, string='Model Id'), } ir_action_report_xml() diff --git a/addons/document/document.py b/addons/document/document.py index 90f57438ce8..69e123b87eb 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -117,7 +117,7 @@ class document_file(osv.osv): # If ir.attachment contained any data before document is installed, preserve # the data, don't drop the column! 'db_datas': fields.binary('Data', oldname='datas'), - 'datas': fields.function(_data_get, method=True, fnct_inv=_data_set, string='File Content', type="binary", nodrop=True), + 'datas': fields.function(_data_get, fnct_inv=_data_set, string='File Content', type="binary", nodrop=True), # Fields of document: 'user_id': fields.many2one('res.users', 'Owner', select=1), diff --git a/addons/event/event.py b/addons/event/event.py index 4d392689bba..0fc28c7c193 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -207,9 +207,9 @@ class event_event(osv.osv): 'type': fields.many2one('event.type', 'Type', help="Type of Event like Seminar, Exhibition, Conference, Training.", readonly=False, states={'done': [('readonly', True)]}), 'register_max': fields.integer('Maximum Registrations', help="Provide Maximum Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}), 'register_min': fields.integer('Minimum Registrations', help="Provide Minimum Number of Registrations", readonly=True, states={'draft': [('readonly', False)]}), - 'register_current': fields.function(_get_register, method=True, string='Confirmed Registrations', multi='register_current', + 'register_current': fields.function(_get_register, string='Confirmed Registrations', multi='register_current', help="Total of Open and Done Registrations"), - 'register_prospect': fields.function(_get_register, method=True, string='Unconfirmed Registrations', multi='register_prospect', + 'register_prospect': fields.function(_get_register, string='Unconfirmed Registrations', multi='register_prospect', help="Total of Prospect Registrations"), 'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}), 'date_begin': fields.datetime('Beginning date', required=True, help="Beginning Date of Event", readonly=True, states={'draft': [('readonly', False)]}), @@ -301,7 +301,7 @@ class event_registration(osv.osv): "partner_invoice_id": fields.many2one('res.partner', 'Partner Invoiced', readonly=True, states={'draft': [('readonly', False)]}), "contact_id": fields.many2one('res.partner.contact', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), #TODO: filter only the contacts that have a function into the selected partner_id "unit_price": fields.float('Unit Price', required=True, digits_compute=dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}), - 'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', digits_compute=dp.get_precision('Sale Price'), store=True), + 'price_subtotal': fields.function(_amount_line, string='Subtotal', digits_compute=dp.get_precision('Sale Price'), store=True), "badge_ids": fields.one2many('event.registration.badge', 'registration_id', 'Badges', readonly=False, states={'done': [('readonly', True)]}), "event_product": fields.char("Invoice Name", size=128, readonly=True, states={'draft': [('readonly', False)]}), "tobe_invoiced": fields.boolean("To be Invoiced", readonly=True, states={'draft': [('readonly', False)]}), diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 8a49fd876ba..70f7784f55b 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -45,7 +45,7 @@ class hr_employee_category(osv.osv): _description = "Employee Category" _columns = { 'name': fields.char("Category", size=64, required=True), - 'complete_name': fields.function(_name_get_fnc, method=True, type="char", string='Name'), + 'complete_name': fields.function(_name_get_fnc, type="char", string='Name'), 'parent_id': fields.many2one('hr.employee.category', 'Parent Category', select=True), 'child_ids': fields.one2many('hr.employee.category', 'parent_id', 'Child Categories') } @@ -92,8 +92,8 @@ class hr_job(osv.osv): _description = "Job Description" _columns = { 'name': fields.char('Job Name', size=128, required=True, select=True), - 'expected_employees': fields.function(_no_of_employee, method=True, string='Expected Employees', help='Required number of Employees in total for that job.', multi="no_of_employee", store=True), - 'no_of_employee': fields.function(_no_of_employee, method=True, string="No of Employee", help='Number of employee with that job.', multi="no_of_employee", store=True), + 'expected_employees': fields.function(_no_of_employee, string='Expected Employees', help='Required number of Employees in total for that job.', multi="no_of_employee", store=True), + 'no_of_employee': fields.function(_no_of_employee, string="No of Employee", help='Number of employee with that job.', multi="no_of_employee", store=True), 'no_of_recruitment': fields.float('Expected in Recruitment'), 'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees'), 'description': fields.text('Job Description'), diff --git a/addons/hr/hr_department.py b/addons/hr/hr_department.py index c885fdf30bd..3332207cb17 100644 --- a/addons/hr/hr_department.py +++ b/addons/hr/hr_department.py @@ -44,7 +44,7 @@ class hr_department(osv.osv): _name = "hr.department" _columns = { 'name': fields.char('Department Name', size=64, required=True), - 'complete_name': fields.function(_dept_name_get_fnc, method=True, type="char", string='Name'), + 'complete_name': fields.function(_dept_name_get_fnc, type="char", string='Name'), 'company_id': fields.many2one('res.company', 'Company', select=True, required=False), 'parent_id': fields.many2one('hr.department', 'Parent Department', select=True), 'child_ids': fields.one2many('hr.department', 'parent_id', 'Child Departments'), diff --git a/addons/hr_attendance/hr_attendance.py b/addons/hr_attendance/hr_attendance.py index 8c5648a1040..a138d66a285 100644 --- a/addons/hr_attendance/hr_attendance.py +++ b/addons/hr_attendance/hr_attendance.py @@ -56,7 +56,7 @@ class hr_attendance(osv.osv): 'action': fields.selection([('sign_in', 'Sign In'), ('sign_out', 'Sign Out'), ('action','Action')], 'Action', required=True), 'action_desc': fields.many2one("hr.action.reason", "Action Reason", domain="[('action_type', '=', action)]", help='Specifies the reason for Signing In/Signing Out in case of extra hours.'), 'employee_id': fields.many2one('hr.employee', "Employee's Name", required=True, select=True), - 'day': fields.function(_day_compute, method=True, type='char', string='Day', store=True, select=1, size=32), + 'day': fields.function(_day_compute, type='char', string='Day', store=True, select=1, size=32), } _defaults = { 'name': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), #please don't remove the lambda, if you remove it then the current time will not change @@ -110,7 +110,7 @@ class hr_employee(osv.osv): return result _columns = { - 'state': fields.function(_state, method=True, type='selection', selection=[('absent', 'Absent'), ('present', 'Present')], string='Attendance'), + 'state': fields.function(_state, type='selection', selection=[('absent', 'Absent'), ('present', 'Present')], string='Attendance'), } def _action_check(self, cr, uid, emp_id, dt=False, context=None): diff --git a/addons/hr_contract/hr_contract.py b/addons/hr_contract/hr_contract.py index 7ed2d16d6b7..21d15a4194b 100644 --- a/addons/hr_contract/hr_contract.py +++ b/addons/hr_contract/hr_contract.py @@ -46,7 +46,7 @@ class hr_employee(osv.osv): 'vehicle': fields.char('Company Vehicle', size=64), 'vehicle_distance': fields.integer('Home-Work Distance', help="In kilometers"), 'contract_ids': fields.one2many('hr.contract', 'employee_id', 'Contracts'), - 'contract_id':fields.function(_get_latest_contract, method=True, string='Contract', type='many2one', relation="hr.contract", help='Latest contract of the employee'), + 'contract_id':fields.function(_get_latest_contract, string='Contract', type='many2one', relation="hr.contract", help='Latest contract of the employee'), } hr_employee() diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index 2e7020306b5..0f996c79e79 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -70,7 +70,7 @@ class hr_expense_expense(osv.osv): 'account_move_id': fields.many2one('account.move', 'Ledger Posting'), 'line_ids': fields.one2many('hr.expense.line', 'expense_id', 'Expense Lines', readonly=True, states={'draft':[('readonly',False)]} ), 'note': fields.text('Note'), - 'amount': fields.function(_amount, method=True, string='Total Amount'), + 'amount': fields.function(_amount, string='Total Amount'), 'invoice_id': fields.many2one('account.invoice', "Employee's Invoice"), 'currency_id': fields.many2one('res.currency', 'Currency', required=True), 'department_id':fields.many2one('hr.department','Department'), @@ -244,7 +244,7 @@ class hr_expense_line(osv.osv): 'name': fields.char('Expense Note', size=128, required=True), 'date_value': fields.date('Date', required=True), 'expense_id': fields.many2one('hr.expense.expense', 'Expense', ondelete='cascade', select=True), - 'total_amount': fields.function(_amount, method=True, string='Total', digits_compute=dp.get_precision('Account')), + 'total_amount': fields.function(_amount, string='Total', digits_compute=dp.get_precision('Account')), 'unit_amount': fields.float('Unit Price', digits_compute=dp.get_precision('Account')), 'unit_quantity': fields.float('Quantities' ), 'product_id': fields.many2one('product.product', 'Product', domain=[('hr_expense_ok','=',True)]), diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 7074fd5cecc..18b1bacc836 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -78,9 +78,9 @@ class hr_holidays_status(osv.osv): 'color_name': fields.selection([('red', 'Red'),('blue','Blue'), ('lightgreen', 'Light Green'), ('lightblue','Light Blue'), ('lightyellow', 'Light Yellow'), ('magenta', 'Magenta'),('lightcyan', 'Light Cyan'),('black', 'Black'),('lightpink', 'Light Pink'),('brown', 'Brown'),('violet', 'Violet'),('lightcoral', 'Light Coral'),('lightsalmon', 'Light Salmon'),('lavender', 'Lavender'),('wheat', 'Wheat'),('ivory', 'Ivory')],'Color in Report', required=True, help='This color will be used in the leaves summary located in Reporting\Leaves by Departement'), 'limit': fields.boolean('Allow to Override Limit', help='If you tick this checkbox, the system will allow, for this section, the employees to take more leaves than the available ones.'), 'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the leave type without removing it."), - 'max_leaves': fields.function(_user_left_days, method=True, string='Maximum Allowed', help='This value is given by the sum of all holidays requests with a positive value.', multi='user_left_days'), - 'leaves_taken': fields.function(_user_left_days, method=True, string='Leaves Already Taken', help='This value is given by the sum of all holidays requests with a negative value.', multi='user_left_days'), - 'remaining_leaves': fields.function(_user_left_days, method=True, string='Remaining Leaves', help='Maximum Leaves Allowed - Leaves Already Taken', multi='user_left_days'), + 'max_leaves': fields.function(_user_left_days, string='Maximum Allowed', help='This value is given by the sum of all holidays requests with a positive value.', multi='user_left_days'), + 'leaves_taken': fields.function(_user_left_days, string='Leaves Already Taken', help='This value is given by the sum of all holidays requests with a negative value.', multi='user_left_days'), + 'remaining_leaves': fields.function(_user_left_days, string='Remaining Leaves', help='Maximum Leaves Allowed - Leaves Already Taken', multi='user_left_days'), 'double_validation': fields.boolean('Apply Double Validation', help="If its True then its Allocation/Request have to be validated by second validator") } _defaults = { @@ -127,7 +127,7 @@ class hr_holidays(osv.osv): 'manager_id': fields.many2one('hr.employee', 'First Approval', invisible=False, readonly=True, help='This area is automatically filled by the user who validate the leave'), 'notes': fields.text('Reasons',readonly=True, states={'draft':[('readonly',False)]}), 'number_of_days_temp': fields.float('Number of Days', readonly=True, states={'draft':[('readonly',False)]}), - 'number_of_days': fields.function(_compute_number_of_days, method=True, string='Number of Days', store=True), + 'number_of_days': fields.function(_compute_number_of_days, string='Number of Days', store=True), 'case_id': fields.many2one('crm.meeting', 'Meeting'), 'type': fields.selection([('remove','Leave Request'),('add','Allocation Request')], 'Request Type', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Choose 'Leave Request' if someone wants to take an off-day. \nChoose 'Allocation Request' if you want to increase the number of leaves available for someone"), 'parent_id': fields.many2one('hr.holidays', 'Parent'), diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index b29bd1312ac..43e35424da0 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -318,11 +318,11 @@ class hr_contract(osv.osv): 'visa_expire': fields.date('Visa Expire Date'), 'struct_id': fields.many2one('hr.payroll.structure', 'Salary Structure'), 'working_days_per_week': fields.integer('Working Days', help="No of Working days / week for an employee"), - 'basic': fields.function(_calculate_salary, method=True, store=True, multi='dc', type='float', string='Basic Salary', digits=(14,2)), - 'gross': fields.function(_calculate_salary, method=True, store=True, multi='dc', type='float', string='Gross Salary', digits=(14,2)), - 'net': fields.function(_calculate_salary, method=True, store=True, multi='dc', type='float', string='Net Salary', digits=(14,2)), - 'advantages_net': fields.function(_calculate_salary, method=True, store=True, multi='dc', type='float', string='Deductions', digits=(14,2)), - 'advantages_gross': fields.function(_calculate_salary, method=True, store=True, multi='dc', type='float', string='Allowances', digits=(14,2)), + 'basic': fields.function(_calculate_salary, store=True, multi='dc', type='float', string='Basic Salary', digits=(14,2)), + 'gross': fields.function(_calculate_salary, store=True, multi='dc', type='float', string='Gross Salary', digits=(14,2)), + 'net': fields.function(_calculate_salary, store=True, multi='dc', type='float', string='Net Salary', digits=(14,2)), + 'advantages_net': fields.function(_calculate_salary, store=True, multi='dc', type='float', string='Deductions', digits=(14,2)), + 'advantages_gross': fields.function(_calculate_salary, store=True, multi='dc', type='float', string='Allowances', digits=(14,2)), } _defaults = { 'working_days_per_week': lambda *a: 5, @@ -374,10 +374,10 @@ class payroll_register(osv.osv): ],'State', select=True, readonly=True), 'active':fields.boolean('Active', required=False), 'company_id':fields.many2one('res.company', 'Company', required=False), - 'grows': fields.function(_calculate, method=True, store=True, multi='dc', string='Gross Salary', type='float', digits=(16, 4)), - 'net': fields.function(_calculate, method=True, store=True, multi='dc', string='Net Salary', digits=(16, 4)), - 'allounce': fields.function(_calculate, method=True, store=True, multi='dc', string='Allowance', digits=(16, 4)), - 'deduction': fields.function(_calculate, method=True, store=True, multi='dc', string='Deduction', digits=(16, 4)), + 'grows': fields.function(_calculate, store=True, multi='dc', string='Gross Salary', type='float', digits=(16, 4)), + 'net': fields.function(_calculate, store=True, multi='dc', string='Net Salary', digits=(16, 4)), + 'allounce': fields.function(_calculate, store=True, multi='dc', string='Allowance', digits=(16, 4)), + 'deduction': fields.function(_calculate, store=True, multi='dc', string='Deduction', digits=(16, 4)), 'note': fields.text('Description'), 'bank_id':fields.many2one('res.bank', 'Bank', required=False, help="Select the Bank Address from whcih the salary is going to be paid"), } @@ -611,8 +611,8 @@ class contrib_register(osv.osv): 'company_id':fields.many2one('res.company', 'Company', required=False), 'name':fields.char('Name', size=256, required=True, readonly=False), 'register_line_ids':fields.one2many('hr.contibution.register.line', 'register_id', 'Register Line', readonly=True), - 'monthly_total_by_emp': fields.function(_total_contrib, method=True, multi='dc', string='Total By Employee', digits=(16, 4)), - 'monthly_total_by_comp': fields.function(_total_contrib, method=True, multi='dc', string='Total By Company', digits=(16, 4)), + 'monthly_total_by_emp': fields.function(_total_contrib, multi='dc', string='Total By Employee', digits=(16, 4)), + 'monthly_total_by_comp': fields.function(_total_contrib, multi='dc', string='Total By Company', digits=(16, 4)), 'note': fields.text('Description'), } _defaults = { @@ -644,7 +644,7 @@ class contrib_register_line(osv.osv): 'date': fields.date('Date'), 'emp_deduction': fields.float('Employee Deduction', digits=(16, 4)), 'comp_deduction': fields.float('Company Deduction', digits=(16, 4)), - 'total': fields.function(_total, method=True, store=True, string='Total', digits=(16, 4)), + 'total': fields.function(_total, store=True, string='Total', digits=(16, 4)), } _defaults = { 'date': lambda *a: time.strftime('%Y-%m-%d'), @@ -884,12 +884,12 @@ class hr_payslip(osv.osv): 'basic_before_leaves': fields.float('Basic Salary', readonly=True, digits_compute=dp.get_precision('Account')), 'leaves': fields.float('Leave Deductions', readonly=True, digits_compute=dp.get_precision('Account')), 'basic': fields.float('Net Basic', readonly=True, digits_compute=dp.get_precision('Account')), - 'grows': fields.function(_calculate, method=True, store=True, multi='dc', string='Gross Salary', digits_compute=dp.get_precision('Account')), - 'net': fields.function(_calculate, method=True, store=True, multi='dc', string='Net Salary', digits_compute=dp.get_precision('Account')), - 'allounce': fields.function(_calculate, method=True, store=True, multi='dc', string='Allowance', digits_compute=dp.get_precision('Account')), - 'deduction': fields.function(_calculate, method=True, store=True, multi='dc', string='Deduction', digits_compute=dp.get_precision('Account')), - 'other_pay': fields.function(_calculate, method=True, store=True, multi='dc', string='Others', digits_compute=dp.get_precision('Account')), - 'total_pay': fields.function(_calculate, method=True, store=True, multi='dc', string='Total Payment', digits_compute=dp.get_precision('Account')), + 'grows': fields.function(_calculate, store=True, multi='dc', string='Gross Salary', digits_compute=dp.get_precision('Account')), + 'net': fields.function(_calculate, store=True, multi='dc', string='Net Salary', digits_compute=dp.get_precision('Account')), + 'allounce': fields.function(_calculate, store=True, multi='dc', string='Allowance', digits_compute=dp.get_precision('Account')), + 'deduction': fields.function(_calculate, store=True, multi='dc', string='Deduction', digits_compute=dp.get_precision('Account')), + 'other_pay': fields.function(_calculate, store=True, multi='dc', string='Others', digits_compute=dp.get_precision('Account')), + 'total_pay': fields.function(_calculate, store=True, multi='dc', string='Total Payment', digits_compute=dp.get_precision('Account')), 'line_ids':fields.one2many('hr.payslip.line', 'slip_id', 'Payslip Line', required=False, readonly=True, states={'draft': [('readonly', False)]}), 'company_id':fields.many2one('res.company', 'Company', required=False, readonly=True, states={'draft': [('readonly', False)]}), 'holiday_days': fields.float('No of Leaves', readonly=True), @@ -1436,11 +1436,11 @@ class hr_employee(osv.osv): 'slip_ids':fields.one2many('hr.payslip', 'employee_id', 'Payslips', required=False, readonly=True), 'otherid': fields.char('Other Id', size=64), - 'basic': fields.function(_calculate_salary, method=True, multi='dc', type='float', string='Basic Salary', digits=(14,2)), - 'gross': fields.function(_calculate_salary, method=True, multi='dc', type='float', string='Gross Salary', digits=(14,2)), - 'net': fields.function(_calculate_salary, method=True, multi='dc', type='float', string='Net Salary', digits=(14,2)), - 'advantages_net': fields.function(_calculate_salary, method=True, multi='dc', type='float', string='Deductions', digits=(14,2)), - 'advantages_gross': fields.function(_calculate_salary, method=True, multi='dc', type='float', string='Allowances', digits=(14,2)), + 'basic': fields.function(_calculate_salary, multi='dc', type='float', string='Basic Salary', digits=(14,2)), + 'gross': fields.function(_calculate_salary, multi='dc', type='float', string='Gross Salary', digits=(14,2)), + 'net': fields.function(_calculate_salary, multi='dc', type='float', string='Net Salary', digits=(14,2)), + 'advantages_net': fields.function(_calculate_salary, multi='dc', type='float', string='Deductions', digits=(14,2)), + 'advantages_gross': fields.function(_calculate_salary, multi='dc', type='float', string='Allowances', digits=(14,2)), } hr_employee() diff --git a/addons/hr_payroll_account/hr_payroll_account.py b/addons/hr_payroll_account/hr_payroll_account.py index 416aeb485ef..deb06b121d0 100644 --- a/addons/hr_payroll_account/hr_payroll_account.py +++ b/addons/hr_payroll_account/hr_payroll_account.py @@ -180,8 +180,8 @@ class contrib_register(osv.osv): _columns = { 'account_id': fields.many2one('account.account', 'Account'), 'analytic_account_id':fields.many2one('account.analytic.account', 'Analytic Account'), - 'yearly_total_by_emp': fields.function(_total_contrib, method=True, multi='dc', store=True, string='Total By Employee', digits=(16, 4)), - 'yearly_total_by_comp': fields.function(_total_contrib, method=True, multi='dc', store=True, string='Total By Company', digits=(16, 4)), + 'yearly_total_by_emp': fields.function(_total_contrib, multi='dc', store=True, string='Total By Employee', digits=(16, 4)), + 'yearly_total_by_comp': fields.function(_total_contrib, multi='dc', store=True, string='Total By Company', digits=(16, 4)), } contrib_register() diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py index 5c042c5c7e3..d9314690ce7 100644 --- a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py +++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py @@ -66,7 +66,7 @@ class account_analytic_account(osv.osv): 'pricelist_id': fields.many2one('product.pricelist', 'Sale Pricelist', help="The product to invoice is defined on the employee form, the price will be deduced by this pricelist on the product."), 'amount_max': fields.float('Max. Invoice Price'), - 'amount_invoiced': fields.function(_invoiced_calc, method=True, string='Invoiced Amount', + 'amount_invoiced': fields.function(_invoiced_calc, string='Invoiced Amount', help="Total invoiced"), 'to_invoice': fields.many2one('hr_timesheet_invoice.factor', 'Reinvoice Costs', help="Fill this field if you plan to automatically generate invoices based " \ diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py index 4384a9e536f..cf4351112a4 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py @@ -286,13 +286,13 @@ class hr_timesheet_sheet(osv.osv): help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed timesheet. \ \n* The \'Confirmed\' state is used for to confirm the timesheet by user. \ \n* The \'Done\' state is used when users timesheet is accepted by his/her senior.'), - 'state_attendance' : fields.function(_state_attendance, method=True, type='selection', selection=[('absent', 'Absent'), ('present', 'Present'),('none','No employee defined')], string='Current Status'), - 'total_attendance_day': fields.function(_total_day, method=True, string='Total Attendance', multi="_total_day"), - 'total_timesheet_day': fields.function(_total_day, method=True, string='Total Timesheet', multi="_total_day"), - 'total_difference_day': fields.function(_total_day, method=True, string='Difference', multi="_total_day"), - 'total_attendance': fields.function(_total, method=True, string='Total Attendance', multi="_total_sheet"), - 'total_timesheet': fields.function(_total, method=True, string='Total Timesheet', multi="_total_sheet"), - 'total_difference': fields.function(_total, method=True, string='Difference', multi="_total_sheet"), + 'state_attendance' : fields.function(_state_attendance, type='selection', selection=[('absent', 'Absent'), ('present', 'Present'),('none','No employee defined')], string='Current Status'), + 'total_attendance_day': fields.function(_total_day, string='Total Attendance', multi="_total_day"), + 'total_timesheet_day': fields.function(_total_day, string='Total Timesheet', multi="_total_day"), + 'total_difference_day': fields.function(_total_day, string='Difference', multi="_total_day"), + 'total_attendance': fields.function(_total, string='Total Attendance', multi="_total_sheet"), + 'total_timesheet': fields.function(_total, string='Total Timesheet', multi="_total_sheet"), + 'total_difference': fields.function(_total, string='Difference', multi="_total_sheet"), 'period_ids': fields.one2many('hr_timesheet_sheet.sheet.day', 'sheet_id', 'Period', readonly=True), 'account_ids': fields.one2many('hr_timesheet_sheet.sheet.account', 'sheet_id', 'Analytic accounts', readonly=True), 'company_id': fields.many2one('res.company', 'Company'), @@ -473,7 +473,7 @@ class hr_timesheet_line(osv.osv): return [('id', 'in', [x[0] for x in res])] _columns = { - 'sheet_id': fields.function(_sheet, method=True, string='Sheet', + 'sheet_id': fields.function(_sheet, string='Sheet', type='many2one', relation='hr_timesheet_sheet.sheet', fnct_search=_sheet_search), } @@ -598,7 +598,7 @@ class hr_attendance(osv.osv): return [('id', 'in', [x[0] for x in res])] _columns = { - 'sheet_id': fields.function(_sheet, method=True, string='Sheet', + 'sheet_id': fields.function(_sheet, string='Sheet', type='many2one', relation='hr_timesheet_sheet.sheet', fnct_search=_sheet_search), } diff --git a/addons/idea/idea.py b/addons/idea/idea.py index 04ae4dff5df..0e6e89f15b5 100644 --- a/addons/idea/idea.py +++ b/addons/idea/idea.py @@ -52,7 +52,7 @@ class idea_category(osv.osv): _columns = { 'name': fields.char('Category', size=64, required=True), - 'complete_name': fields.function(_categ_name_get_fnc, method=True, type="char", string='Name'), + 'complete_name': fields.function(_categ_name_get_fnc, type="char", string='Name'), 'summary': fields.text('Summary'), 'parent_id': fields.many2one('idea.category', 'Parent Categories', ondelete='set null'), 'child_ids': fields.one2many('idea.category', 'parent_id', 'Child Categories'), @@ -180,10 +180,10 @@ class idea_idea(osv.osv): 'created_date': fields.datetime('Creation date', readonly=True), 'open_date': fields.datetime('Open date', readonly=True, help="Date when an idea opened"), 'vote_ids': fields.one2many('idea.vote', 'idea_id', 'Vote'), - 'my_vote': fields.function(_vote_read, fnct_inv = _vote_save, string="My Vote", method=True, type="selection", selection=VoteValues), - 'vote_avg': fields.function(_vote_avg_compute, method=True, string="Average Score", type="float"), - 'count_votes': fields.function(_vote_count, method=True, string="Count of votes", type="integer"), - 'count_comments': fields.function(_comment_count, method=True, string="Count of comments", type="integer"), + 'my_vote': fields.function(_vote_read, fnct_inv = _vote_save, string="My Vote", type="selection", selection=VoteValues), + 'vote_avg': fields.function(_vote_avg_compute, string="Average Score", type="float"), + 'count_votes': fields.function(_vote_count, string="Count of votes", type="integer"), + 'count_comments': fields.function(_comment_count, string="Count of comments", type="integer"), 'category_id': fields.many2one('idea.category', 'Category', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'state': fields.selection([('draft', 'Draft'), ('open', 'Opened'), diff --git a/addons/l10n_ch/invoice.py b/addons/l10n_ch/invoice.py index af9beac55e0..4896931b77b 100644 --- a/addons/l10n_ch/invoice.py +++ b/addons/l10n_ch/invoice.py @@ -73,7 +73,7 @@ class account_invoice(osv.osv): help='The partner bank account to pay\nKeep empty to use the default' ), ### Amount to pay - 'amount_to_pay': fields.function(_amount_to_pay, method=True, + 'amount_to_pay': fields.function(_amount_to_pay, type='float', string='Amount to be paid', help='The amount which should be paid at the current date\n' \ 'minus the amount which is already in payment order'), diff --git a/addons/lunch/lunch.py b/addons/lunch/lunch.py index 1499dd4414e..c940d23fa40 100644 --- a/addons/lunch/lunch.py +++ b/addons/lunch/lunch.py @@ -81,7 +81,7 @@ class lunch_cashbox(osv.osv): _columns = { 'manager': fields.many2one('res.users', 'Manager'), 'name': fields.char('Name', size=30, required=True, unique = True), - 'sum_remain': fields.function(amount_available, method=True, string='Total Remaining'), + 'sum_remain': fields.function(amount_available, string='Total Remaining'), } lunch_cashbox() @@ -140,7 +140,7 @@ class lunch_order(osv.osv): states = {'draft':[('readonly', False)]}), 'state': fields.selection([('draft', 'Draft'), ('confirmed', 'Confirmed'), ], \ 'State', readonly=True, select=True), - 'price': fields.function(_price_get, method=True, string="Price"), + 'price': fields.function(_price_get, string="Price"), 'category': fields.many2one('lunch.category','Category'), } diff --git a/addons/mail_gateway/mail_gateway.py b/addons/mail_gateway/mail_gateway.py index ab40a9572e1..4fa70484666 100644 --- a/addons/mail_gateway/mail_gateway.py +++ b/addons/mail_gateway/mail_gateway.py @@ -281,7 +281,7 @@ class mailgate_message(osv.osv): 'description': fields.text('Description', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', required=False), 'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments', readonly=True), - 'display_text': fields.function(_get_display_text, method=True, type='text', size="512", string='Display Text'), + 'display_text': fields.function(_get_display_text, type='text', size="512", string='Display Text'), } def init(self, cr): diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 15c86f5298e..ae1ab2309e2 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -281,7 +281,7 @@ class marketing_campaign_segment(osv.osv): 'State',), 'date_run': fields.datetime('Launch Date', help="Initial start date of this segment."), 'date_done': fields.datetime('End Date', help="Date this segment was last closed or cancelled."), - 'date_next_sync': fields.function(_get_next_sync, method=True, string='Next Synchronization', type='datetime', help="Next time the synchronization job is scheduled to run automatically"), + 'date_next_sync': fields.function(_get_next_sync, string='Next Synchronization', type='datetime', help="Next time the synchronization job is scheduled to run automatically"), } _defaults = { @@ -548,7 +548,7 @@ class marketing_campaign_transition(osv.osv): _columns = { - 'name': fields.function(_get_name, method=True, string='Name', + 'name': fields.function(_get_name, string='Name', type='char', size=128), 'activity_from_id': fields.many2one('marketing.campaign.activity', 'Previous Activity', select=1, @@ -649,7 +649,7 @@ class marketing_campaign_workitem(osv.osv): 'object_id': fields.related('activity_id', 'campaign_id', 'object_id', type='many2one', relation='ir.model', string='Resource', select=1, readonly=True, store=True), 'res_id': fields.integer('Resource ID', select=1, readonly=True), - 'res_name': fields.function(_res_name_get, method=True, string='Resource Name', fnct_search=_resource_search, type="char", size=64), + 'res_name': fields.function(_res_name_get, string='Resource Name', fnct_search=_resource_search, type="char", size=64), 'date': fields.datetime('Execution Date', help='If date is not set, this workitem has to be run manually', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', select=1, readonly=True), 'state': fields.selection([('todo', 'To Do'), diff --git a/addons/marketing_campaign/report/campaign_analysis.py b/addons/marketing_campaign/report/campaign_analysis.py index 0b245aee785..af04a7e6dff 100644 --- a/addons/marketing_campaign/report/campaign_analysis.py +++ b/addons/marketing_campaign/report/campaign_analysis.py @@ -62,7 +62,7 @@ class campaign_analysis(osv.osv): 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), 'country_id': fields.related('partner_id','address', 'country_id', type='many2one', relation='res.country',string='Country'), - 'total_cost' : fields.function(_total_cost, string='Cost', method=True, + 'total_cost' : fields.function(_total_cost, string='Cost', type="float", digits_compute=dp.get_precision('Purchase Price')), 'revenue': fields.float('Revenue', readonly=True, digits_compute=dp.get_precision('Sale Price')), 'count' : fields.integer('# of Actions', readonly=True), diff --git a/addons/membership/membership.py b/addons/membership/membership.py index 48fd8dc2d41..6384a255ac3 100644 --- a/addons/membership/membership.py +++ b/addons/membership/membership.py @@ -149,7 +149,7 @@ class membership_line(osv.osv): 'member_price': fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True, help='Amount for the membership'), 'account_invoice_line': fields.many2one('account.invoice.line', 'Account Invoice line', readonly=True), 'account_invoice_id': fields.related('account_invoice_line', 'invoice_id', type='many2one', relation='account.invoice', string='Invoice', readonly=True), - 'state': fields.function(_state, method=True, + 'state': fields.function(_state, string='Membership State', type='selection', selection=STATE, store = { 'account.invoice': (_get_membership_lines, ['state'], 10), @@ -322,7 +322,7 @@ class Partner(osv.osv): 'Membership amount', digits=(16, 2), help = 'The price negotiated by the partner'), 'membership_state': fields.function( - __get_membership_state, method=True, + __get_membership_state, string = 'Current Membership State', type = 'selection', selection = STATE, store = { @@ -337,7 +337,7 @@ class Partner(osv.osv): -Invoiced Member: A member whose invoice has been created. -Paid Member: A member who has paid the membership amount."""), 'membership_start': fields.function( - _membership_date, method=True, multi = 'membeship_start', + _membership_date, multi = 'membeship_start', string = 'Start membership date', type = 'date', store = { 'account.invoice': (_get_invoice_partner, ['state'], 10), @@ -345,7 +345,7 @@ class Partner(osv.osv): 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10) }, help="Date from which membership becomes active."), 'membership_stop': fields.function( - _membership_date, method=True, + _membership_date, string = 'Stop membership date', type='date', multi='membership_stop', store = { 'account.invoice': (_get_invoice_partner, ['state'], 10), @@ -353,7 +353,7 @@ class Partner(osv.osv): 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10) }, help="Date until which membership remains active."), 'membership_cancel': fields.function( - _membership_date, method=True, + _membership_date, string = 'Cancel membership date', type='date', multi='membership_cancel', store = { 'account.invoice': (_get_invoice_partner, ['state'], 11), diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index 5603327290d..ec429488914 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -197,7 +197,7 @@ class mrp_bom(osv.osv): help= "If a sub-product is used in several products, it can be useful to create its own BoM. "\ "Though if you don't want separated production orders for this sub-product, select Set/Phantom as BoM type. "\ "If a Phantom BoM is used for a root product, it will be sold and shipped as a set of components, instead of being produced."), - 'method': fields.function(_compute_type, string='Method', method=True, type='selection', selection=[('',''),('stock','On Stock'),('order','On Order'),('set','Set / Pack')]), + 'method': fields.function(_compute_type, string='Method', type='selection', selection=[('',''),('stock','On Stock'),('order','On Order'),('set','Set / Pack')]), 'date_start': fields.date('Valid From', help="Validity of this BoM or component. Keep empty if it's always valid."), 'date_stop': fields.date('Valid Until', help="Validity of this BoM or component. Keep empty if it's always valid."), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of bills of material."), @@ -214,7 +214,7 @@ class mrp_bom(osv.osv): 'routing_id': fields.many2one('mrp.routing', 'Routing', help="The list of operations (list of work centers) to produce the finished product. The routing is mainly used to compute work center costs during operations and to plan future loads on work centers based on production planning."), 'property_ids': fields.many2many('mrp.property', 'mrp_bom_property_rel', 'bom_id','property_id', 'Properties'), 'revision_ids': fields.one2many('mrp.bom.revision', 'bom_id', 'BoM Revisions'), - 'child_complete_ids': fields.function(_child_compute, relation='mrp.bom', method=True, string="BoM Hierarchy", type='many2many'), + 'child_complete_ids': fields.function(_child_compute, relation='mrp.bom', string="BoM Hierarchy", type='many2many'), 'company_id': fields.many2one('res.company','Company',required=True), } _defaults = { @@ -457,8 +457,8 @@ class mrp_production(osv.osv): 'location_dest_id': fields.many2one('stock.location', 'Finished Products Location', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="Location where the system will stock the finished products."), - 'date_planned_end': fields.function(_production_date_end, method=True, type='date', string='Scheduled End Date'), - 'date_planned_date': fields.function(_production_date, method=True, type='date', string='Scheduled Date'), + 'date_planned_end': fields.function(_production_date_end, type='date', string='Scheduled End Date'), + 'date_planned_date': fields.function(_production_date, type='date', string='Scheduled Date'), 'date_planned': fields.datetime('Scheduled date', required=True, select=1), 'date_start': fields.datetime('Start Date', select=True), 'date_finished': fields.datetime('End Date', select=True), @@ -478,8 +478,8 @@ class mrp_production(osv.osv): 'state': fields.selection([('draft','Draft'),('picking_except', 'Picking Exception'),('confirmed','Waiting Goods'),('ready','Ready to Produce'),('in_production','In Production'),('cancel','Cancelled'),('done','Done')],'State', readonly=True, help='When the production order is created the state is set to \'Draft\'.\n If the order is confirmed the state is set to \'Waiting Goods\'.\n If any exceptions are there, the state is set to \'Picking Exception\'.\ \nIf the stock is available then the state is set to \'Ready to Produce\'.\n When the production gets started then the state is set to \'In Production\'.\n When the production is over, the state is set to \'Done\'.'), - 'hour_total': fields.function(_production_calc, method=True, type='float', string='Total Hours', multi='workorder', store=True), - 'cycle_total': fields.function(_production_calc, method=True, type='float', string='Total Cycles', multi='workorder', store=True), + 'hour_total': fields.function(_production_calc, type='float', string='Total Hours', multi='workorder', store=True), + 'cycle_total': fields.function(_production_calc, type='float', string='Total Cycles', multi='workorder', store=True), 'company_id': fields.many2one('res.company','Company',required=True), } _defaults = { diff --git a/addons/mrp_operations/mrp_operations.py b/addons/mrp_operations/mrp_operations.py index 589d3c27031..fe926d30ac1 100644 --- a/addons/mrp_operations/mrp_operations.py +++ b/addons/mrp_operations/mrp_operations.py @@ -92,9 +92,9 @@ class mrp_production_workcenter_line(osv.osv): "* When work order is in running mode, during that time if user wants to stop or to make changes in order then can set in 'Pause' state.\n" \ "* When the user cancels the work order it will be set in 'Canceled' state.\n" \ "* When order is completely processed that time it is set in 'Finished' state."), - 'date_start_date': fields.function(_get_date_date, method=True, string='Start Date', type='date'), + 'date_start_date': fields.function(_get_date_date, string='Start Date', type='date'), 'date_planned': fields.datetime('Scheduled Date'), - 'date_planned_end': fields.function(_get_date_end, method=True, string='End Date', type='datetime'), + 'date_planned_end': fields.function(_get_date_end, string='End Date', type='datetime'), 'date_start': fields.datetime('Start Date'), 'date_finished': fields.datetime('End Date'), 'delay': fields.float('Working Hours',help="This is lead time between operation start and stop in this Work Center",readonly=True), @@ -554,7 +554,7 @@ class mrp_operations_operation(osv.osv): 'code_id':fields.many2one('mrp_operations.operation.code','Code',required=True), 'date_start': fields.datetime('Start Date'), 'date_finished': fields.datetime('End Date'), - 'order_date': fields.function(_get_order_date,method=True,string='Order Date',type='date',store={'mrp.production':(_order_date_search_production,['date_planned'], 10)}), + 'order_date': fields.function(_get_order_date,string='Order Date',type='date',store={'mrp.production':(_order_date_search_production,['date_planned'], 10)}), } _defaults={ 'date_start': lambda *a:datetime.now().strftime('%Y-%m-%d %H:%M:%S') diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index e95e3fb6058..caacb2e3247 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -117,7 +117,7 @@ class mrp_repair(osv.osv): 'product_id': fields.many2one('product.product', string='Product to Repair', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'partner_id' : fields.many2one('res.partner', 'Partner', select=True, help='This field allow you to choose the parner that will be invoiced and delivered'), 'address_id': fields.many2one('res.partner.address', 'Delivery Address', domain="[('partner_id','=',partner_id)]"), - 'default_address_id': fields.function(_get_default_address, method=True, type="many2one", relation="res.partner.address"), + 'default_address_id': fields.function(_get_default_address, type="many2one", relation="res.partner.address"), 'prodlot_id': fields.many2one('stock.production.lot', 'Lot Number', select=True, domain="[('product_id','=',product_id)]"), 'state': fields.selection([ ('draft','Quotation'), @@ -156,17 +156,17 @@ class mrp_repair(osv.osv): 'deliver_bool': fields.boolean('Deliver', help="Check this box if you want to manage the delivery once the product is repaired. If cheked, it will create a picking with selected product. Note that you can select the locations in the Info tab, if you have the extended view."), 'invoiced': fields.boolean('Invoiced', readonly=True), 'repaired': fields.boolean('Repaired', readonly=True), - 'amount_untaxed': fields.function(_amount_untaxed, method=True, string='Untaxed Amount', + 'amount_untaxed': fields.function(_amount_untaxed, string='Untaxed Amount', store={ 'mrp.repair': (lambda self, cr, uid, ids, c={}: ids, ['operations'], 10), 'mrp.repair.line': (_get_lines, ['price_unit', 'price_subtotal', 'product_id', 'tax_id', 'product_uom_qty', 'product_uom'], 10), }), - 'amount_tax': fields.function(_amount_tax, method=True, string='Taxes', + 'amount_tax': fields.function(_amount_tax, string='Taxes', store={ 'mrp.repair': (lambda self, cr, uid, ids, c={}: ids, ['operations'], 10), 'mrp.repair.line': (_get_lines, ['price_unit', 'price_subtotal', 'product_id', 'tax_id', 'product_uom_qty', 'product_uom'], 10), }), - 'amount_total': fields.function(_amount_total, method=True, string='Total', + 'amount_total': fields.function(_amount_total, string='Total', store={ 'mrp.repair': (lambda self, cr, uid, ids, c={}: ids, ['operations'], 10), 'mrp.repair.line': (_get_lines, ['price_unit', 'price_subtotal', 'product_id', 'tax_id', 'product_uom_qty', 'product_uom'], 10), @@ -661,7 +661,7 @@ class mrp_repair_line(osv.osv, ProductChangeMixin): 'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok','=',True)], required=True), 'invoiced': fields.boolean('Invoiced',readonly=True), 'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price')), - 'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal',digits_compute= dp.get_precision('Sale Price')), + 'price_subtotal': fields.function(_amount_line, string='Subtotal',digits_compute= dp.get_precision('Sale Price')), 'tax_id': fields.many2many('account.tax', 'repair_operation_line_tax', 'repair_operation_line_id', 'tax_id', 'Taxes'), 'product_uom_qty': fields.float('Quantity (UoM)', digits=(16,2), required=True), 'product_uom': fields.many2one('product.uom', 'Product UoM', required=True), @@ -750,7 +750,7 @@ class mrp_repair_fee(osv.osv, ProductChangeMixin): 'product_uom_qty': fields.float('Quantity', digits=(16,2), required=True), 'price_unit': fields.float('Unit Price', required=True), 'product_uom': fields.many2one('product.uom', 'Product UoM', required=True), - 'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal',digits_compute= dp.get_precision('Sale Price')), + 'price_subtotal': fields.function(_amount_line, string='Subtotal',digits_compute= dp.get_precision('Sale Price')), 'tax_id': fields.many2many('account.tax', 'repair_fee_line_tax', 'repair_fee_line_id', 'tax_id', 'Taxes'), 'invoice_line_id': fields.many2one('account.invoice.line', 'Invoice Line', readonly=True), 'to_invoice': fields.boolean('To Invoice'), diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 4eeb7b2dd9f..917e6273ddc 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -253,17 +253,17 @@ class pos_order(osv.osv): method=True, string='Validation Date', type='date', select=True, store=True), - 'date_payment': fields.function(_get_date_payment2, method=True, + 'date_payment': fields.function(_get_date_payment2, string='Payment Date', type='date', select=True, store=True), 'date_validity': fields.date('Validity Date', required=True), 'user_id': fields.many2one('res.users', 'Connected Salesman', help="Person who uses the the cash register. It could be a reliever, a student or an interim employee."), 'user_salesman_id': fields.many2one('res.users', 'Cashier', required=True, help="User who is logged into the system."), 'sale_manager': fields.many2one('res.users', 'Salesman Manager'), - 'amount_tax': fields.function(_amount_all, method=True, string='Taxes', digits_compute=dp.get_precision('Point Of Sale'), multi='all'), - 'amount_total': fields.function(_amount_all, method=True, string='Total', multi='all'), - 'amount_paid': fields.function(_amount_all, string='Paid', states={'draft': [('readonly', False)]}, readonly=True, method=True, digits_compute=dp.get_precision('Point Of Sale'), multi='all'), - 'amount_return': fields.function(_amount_all, 'Returned', method=True, digits_compute=dp.get_precision('Point Of Sale'), multi='all'), + 'amount_tax': fields.function(_amount_all, string='Taxes', digits_compute=dp.get_precision('Point Of Sale'), multi='all'), + 'amount_total': fields.function(_amount_all, string='Total', multi='all'), + 'amount_paid': fields.function(_amount_all, string='Paid', states={'draft': [('readonly', False)]}, readonly=True, digits_compute=dp.get_precision('Point Of Sale'), multi='all'), + 'amount_return': fields.function(_amount_all, 'Returned', digits_compute=dp.get_precision('Point Of Sale'), multi='all'), 'lines': fields.one2many('pos.order.line', 'order_id', 'Order Lines', states={'draft': [('readonly', False)]}, readonly=True), 'price_type': fields.selection([ ('tax_excluded','Tax excluded')], @@ -955,7 +955,7 @@ class account_bank_statement_line(osv.osv): res[line.id] = line.statement_id and line.statement_id.journal_id and line.statement_id.journal_id.name or None return res _columns= { - 'journal_id': fields.function(_get_statement_journal, method=True,store=True, string='Journal', type='char', size=64), + 'journal_id': fields.function(_get_statement_journal,store=True, string='Journal', type='char', size=64), 'am_out': fields.boolean("To count"), 'is_acc': fields.boolean("Is accompte"), 'pos_statement_id': fields.many2one('pos.order', ondelete='cascade'), @@ -1141,12 +1141,12 @@ class pos_order_line(osv.osv): 'notice': fields.char('Discount Notice', size=128, required=True), 'serial_number': fields.char('Serial Number', size=128), 'product_id': fields.many2one('product.product', 'Product', domain=[('sale_ok', '=', True)], required=True, change_default=True), - 'price_unit': fields.function(_get_amount, method=True, string='Unit Price', store=True), + 'price_unit': fields.function(_get_amount, string='Unit Price', store=True), 'price_ded': fields.float('Discount(Amount)', digits_compute=dp.get_precision('Point Of Sale')), 'qty': fields.float('Quantity'), 'qty_rfd': fields.float('Refunded Quantity'), - 'price_subtotal': fields.function(_amount_line_all, method=True, multi='pos_order_line_amount', string='Subtotal w/o Tax'), - 'price_subtotal_incl': fields.function(_amount_line_all, method=True, multi='pos_order_line_amount', string='Subtotal'), + 'price_subtotal': fields.function(_amount_line_all, multi='pos_order_line_amount', string='Subtotal w/o Tax'), + 'price_subtotal_incl': fields.function(_amount_line_all, multi='pos_order_line_amount', string='Subtotal'), 'discount': fields.float('Discount (%)', digits=(16, 2)), 'order_id': fields.many2one('pos.order', 'Order Ref', ondelete='cascade'), 'create_date': fields.datetime('Creation Date', readonly=True), diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py index 743ef85a9ea..f05ca64144d 100644 --- a/addons/procurement/procurement.py +++ b/addons/procurement/procurement.py @@ -527,7 +527,7 @@ class stock_warehouse_orderpoint(osv.osv): help="The procurement quantity will be rounded up to this multiple."), 'procurement_id': fields.many2one('procurement.order', 'Latest procurement', ondelete="set null"), 'company_id': fields.many2one('res.company','Company',required=True), - 'procurement_draft_ids': fields.function(_get_draft_procurements, method=True, type='many2many', relation="procurement.order", \ + 'procurement_draft_ids': fields.function(_get_draft_procurements, type='many2many', relation="procurement.order", \ string="Related Procurement Orders",help="Draft procurement of the product and location of that orderpoint"), } _defaults = { diff --git a/addons/product/product.py b/addons/product/product.py index fa6796b3953..320b4552c18 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -206,7 +206,7 @@ class product_category(osv.osv): _description = "Product Category" _columns = { 'name': fields.char('Name', size=64, required=True, translate=True), - 'complete_name': fields.function(_name_get_fnc, method=True, type="char", string='Name'), + 'complete_name': fields.function(_name_get_fnc, type="char", string='Name'), 'parent_id': fields.many2one('product.category','Parent Category', select=True), 'child_id': fields.one2many('product.category', 'parent_id', string='Child Categories'), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."), @@ -296,9 +296,9 @@ class product_template(osv.osv): help='Coefficient to convert UOM to UOS\n' ' uos = uom * coeff'), 'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type', required=True), - 'seller_delay': fields.function(_calc_seller, method=True, type='integer', string='Supplier Lead Time', multi="seller_delay", help="This is the average delay in days between the purchase order confirmation and the reception of goods for this product and for the default supplier. It is used by the scheduler to order requests based on reordering delays."), - 'seller_qty': fields.function(_calc_seller, method=True, type='float', string='Supplier Quantity', multi="seller_qty", help="This is minimum quantity to purchase from Main Supplier."), - 'seller_id': fields.function(_calc_seller, method=True, type='many2one', relation="res.partner", string='Main Supplier', help="Main Supplier who has highest priority in Supplier List.", multi="seller_id"), + 'seller_delay': fields.function(_calc_seller, type='integer', string='Supplier Lead Time', multi="seller_delay", help="This is the average delay in days between the purchase order confirmation and the reception of goods for this product and for the default supplier. It is used by the scheduler to order requests based on reordering delays."), + 'seller_qty': fields.function(_calc_seller, type='float', string='Supplier Quantity', multi="seller_qty", help="This is minimum quantity to purchase from Main Supplier."), + 'seller_id': fields.function(_calc_seller, type='many2one', relation="res.partner", string='Main Supplier', help="Main Supplier who has highest priority in Supplier List.", multi="seller_id"), 'seller_ids': fields.one2many('product.supplierinfo', 'product_id', 'Partners'), 'loc_rack': fields.char('Rack', size=16), 'loc_row': fields.char('Row', size=16), @@ -469,14 +469,14 @@ class product_product(osv.osv): _inherits = {'product.template': 'product_tmpl_id'} _order = 'default_code,name_template' _columns = { - 'qty_available': fields.function(_product_qty_available, method=True, type='float', string='Real Stock'), - 'virtual_available': fields.function(_product_virtual_available, method=True, type='float', string='Virtual Stock'), - 'incoming_qty': fields.function(_product_incoming_qty, method=True, type='float', string='Incoming'), - 'outgoing_qty': fields.function(_product_outgoing_qty, method=True, type='float', string='Outgoing'), - 'price': fields.function(_product_price, method=True, type='float', string='Pricelist', digits_compute=dp.get_precision('Sale Price')), - 'lst_price' : fields.function(_product_lst_price, method=True, type='float', string='Public Price', digits_compute=dp.get_precision('Sale Price')), - 'code': fields.function(_product_code, method=True, type='char', string='Reference'), - 'partner_ref' : fields.function(_product_partner_ref, method=True, type='char', string='Customer ref'), + 'qty_available': fields.function(_product_qty_available, type='float', string='Real Stock'), + 'virtual_available': fields.function(_product_virtual_available, type='float', string='Virtual Stock'), + 'incoming_qty': fields.function(_product_incoming_qty, type='float', string='Incoming'), + 'outgoing_qty': fields.function(_product_outgoing_qty, type='float', string='Outgoing'), + 'price': fields.function(_product_price, type='float', string='Pricelist', digits_compute=dp.get_precision('Sale Price')), + 'lst_price' : fields.function(_product_lst_price, type='float', string='Public Price', digits_compute=dp.get_precision('Sale Price')), + 'code': fields.function(_product_code, type='char', string='Reference'), + 'partner_ref' : fields.function(_product_partner_ref, type='char', string='Customer ref'), 'default_code' : fields.char('Reference', size=64), 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the product without removing it."), 'variants': fields.char('Variants', size=64), @@ -733,7 +733,7 @@ class product_supplierinfo(osv.osv): 'sequence' : fields.integer('Sequence', help="Assigns the priority to the list of product supplier."), 'product_uom': fields.many2one('product.uom', string="Supplier UoM", help="Choose here the Unit of Measure in which the prices and quantities are expressed below."), 'min_qty': fields.float('Minimal Quantity', required=True, help="The minimal quantity to purchase to this supplier, expressed in the supplier Product UoM if not empty, in the default unit of measure of the product otherwise."), - 'qty': fields.function(_calc_qty, method=True, store=True, type='float', string='Quantity', multi="qty", help="This is a quantity which is converted into Default Uom."), + 'qty': fields.function(_calc_qty, store=True, type='float', string='Quantity', multi="qty", help="This is a quantity which is converted into Default Uom."), 'product_id' : fields.many2one('product.template', 'Product', required=True, ondelete='cascade', select=True), 'delay' : fields.integer('Delivery Lead Time', required=True, help="Lead time in days between the confirmation of the purchase order and the reception of the products in your warehouse. Used by the scheduler for automatic computation of the purchase order planning."), 'pricelist_ids': fields.one2many('pricelist.partnerinfo', 'suppinfo_id', 'Supplier Pricelist'), diff --git a/addons/product_margin/product_margin.py b/addons/product_margin/product_margin.py index 37639c3b223..5895feedf3f 100644 --- a/addons/product_margin/product_margin.py +++ b/addons/product_margin/product_margin.py @@ -92,38 +92,38 @@ class product_product(osv.osv): return res _columns = { - 'date_from': fields.function(_product_margin, method=True, type='date', string='From Date', multi='product_margin'), - 'date_to': fields.function(_product_margin, method=True, type='date', string='To Date', multi='product_margin'), - 'invoice_state': fields.function(_product_margin, method=True, type='selection', selection=[ + 'date_from': fields.function(_product_margin, type='date', string='From Date', multi='product_margin'), + 'date_to': fields.function(_product_margin, type='date', string='To Date', multi='product_margin'), + 'invoice_state': fields.function(_product_margin, type='selection', selection=[ ('paid','Paid'),('open_paid','Open and Paid'),('draft_open_paid','Draft, Open and Paid') ], string='Invoice State',multi='product_margin', readonly=True), - 'sale_avg_price' : fields.function(_product_margin, method=True, type='float', string='Avg. Unit Price', multi='product_margin', + 'sale_avg_price' : fields.function(_product_margin, type='float', string='Avg. Unit Price', multi='product_margin', help="Avg. Price in Customer Invoices)"), - 'purchase_avg_price' : fields.function(_product_margin, method=True, type='float', string='Avg. Unit Price', multi='product_margin', + 'purchase_avg_price' : fields.function(_product_margin, type='float', string='Avg. Unit Price', multi='product_margin', help="Avg. Price in Supplier Invoices "), - 'sale_num_invoiced' : fields.function(_product_margin, method=True, type='float', string='# Invoiced', multi='product_margin', + 'sale_num_invoiced' : fields.function(_product_margin, type='float', string='# Invoiced', multi='product_margin', help="Sum of Quantity in Customer Invoices"), - 'purchase_num_invoiced' : fields.function(_product_margin, method=True, type='float', string='# Invoiced', multi='product_margin', + 'purchase_num_invoiced' : fields.function(_product_margin, type='float', string='# Invoiced', multi='product_margin', help="Sum of Quantity in Supplier Invoices"), - 'sales_gap' : fields.function(_product_margin, method=True, type='float', string='Sales Gap', multi='product_margin', + 'sales_gap' : fields.function(_product_margin, type='float', string='Sales Gap', multi='product_margin', help="Expected Sale - Turn Over"), - 'purchase_gap' : fields.function(_product_margin, method=True, type='float', string='Purchase Gap', multi='product_margin', + 'purchase_gap' : fields.function(_product_margin, type='float', string='Purchase Gap', multi='product_margin', help="Normal Cost - Total Cost"), - 'turnover' : fields.function(_product_margin, method=True, type='float', string='Turnover' ,multi='product_margin', + 'turnover' : fields.function(_product_margin, type='float', string='Turnover' ,multi='product_margin', help="Sum of Multification of Invoice price and quantity of Customer Invoices"), - 'total_cost' : fields.function(_product_margin, method=True, type='float', string='Total Cost', multi='product_margin', + 'total_cost' : fields.function(_product_margin, type='float', string='Total Cost', multi='product_margin', help="Sum of Multification of Invoice price and quantity of Supplier Invoices "), - 'sale_expected' : fields.function(_product_margin, method=True, type='float', string='Expected Sale', multi='product_margin', + 'sale_expected' : fields.function(_product_margin, type='float', string='Expected Sale', multi='product_margin', help="Sum of Multification of Sale Catalog price and quantity of Customer Invoices"), - 'normal_cost' : fields.function(_product_margin, method=True, type='float', string='Normal Cost', multi='product_margin', + 'normal_cost' : fields.function(_product_margin, type='float', string='Normal Cost', multi='product_margin', help="Sum of Multification of Cost price and quantity of Supplier Invoices"), - 'total_margin' : fields.function(_product_margin, method=True, type='float', string='Total Margin', multi='product_margin', + 'total_margin' : fields.function(_product_margin, type='float', string='Total Margin', multi='product_margin', help="Turnorder - Standard price"), - 'expected_margin' : fields.function(_product_margin, method=True, type='float', string='Expected Margin', multi='product_margin', + 'expected_margin' : fields.function(_product_margin, type='float', string='Expected Margin', multi='product_margin', help="Expected Sale - Normal Cost"), - 'total_margin_rate' : fields.function(_product_margin, method=True, type='float', string='Total Margin (%)', multi='product_margin', + 'total_margin_rate' : fields.function(_product_margin, type='float', string='Total Margin (%)', multi='product_margin', help="Total margin * 100 / Turnover"), - 'expected_margin_rate' : fields.function(_product_margin, method=True, type='float', string='Expected Margin (%)', multi='product_margin', + 'expected_margin_rate' : fields.function(_product_margin, type='float', string='Expected Margin (%)', multi='product_margin', help="Expected margin * 100 / Expected Sale"), } diff --git a/addons/project/project.py b/addons/project/project.py index 3d20bc2f5f8..b1461da424c 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -123,7 +123,7 @@ class project(osv.osv): return super(project, self).unlink(cr, uid, ids, *args, **kwargs) _columns = { - 'complete_name': fields.function(_complete_name, method=True, string="Project Name", type='char', size=250), + 'complete_name': fields.function(_complete_name, string="Project Name", type='char', size=250), 'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the project without removing it."), 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of Projects."), 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', help="Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc.", ondelete="cascade", required=True), @@ -133,18 +133,18 @@ class project(osv.osv): 'members': fields.many2many('res.users', 'project_user_rel', 'project_id', 'uid', 'Project Members', help="Project's members are users who can have an access to the tasks related to this project.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'tasks': fields.one2many('project.task', 'project_id', "Project tasks"), - 'planned_hours': fields.function(_progress_rate, multi="progress", method=True, string='Planned Time', help="Sum of planned hours of all tasks related to this project and its child projects.", + 'planned_hours': fields.function(_progress_rate, multi="progress", string='Planned Time', help="Sum of planned hours of all tasks related to this project and its child projects.", store = { 'project.project': (lambda self, cr, uid, ids, c={}: ids, ['tasks'], 10), 'project.task': (_get_project_task, ['planned_hours', 'effective_hours', 'remaining_hours', 'total_hours', 'progress', 'delay_hours','state'], 10), }), - 'effective_hours': fields.function(_progress_rate, multi="progress", method=True, string='Time Spent', help="Sum of spent hours of all tasks related to this project and its child projects."), - 'total_hours': fields.function(_progress_rate, multi="progress", method=True, string='Total Time', help="Sum of total hours of all tasks related to this project and its child projects.", + 'effective_hours': fields.function(_progress_rate, multi="progress", string='Time Spent', help="Sum of spent hours of all tasks related to this project and its child projects."), + 'total_hours': fields.function(_progress_rate, multi="progress", string='Total Time', help="Sum of total hours of all tasks related to this project and its child projects.", store = { 'project.project': (lambda self, cr, uid, ids, c={}: ids, ['tasks'], 10), 'project.task': (_get_project_task, ['planned_hours', 'effective_hours', 'remaining_hours', 'total_hours', 'progress', 'delay_hours','state'], 10), }), - 'progress_rate': fields.function(_progress_rate, multi="progress", method=True, string='Progress', type='float', group_operator="avg", help="Percent of tasks closed according to the total of tasks todo."), + 'progress_rate': fields.function(_progress_rate, multi="progress", string='Progress', type='float', group_operator="avg", help="Percent of tasks closed according to the total of tasks todo."), 'warn_customer': fields.boolean('Warn Partner', help="If you check this, the user will have a popup when closing a task that propose a message to send by email to the customer.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'warn_header': fields.text('Mail Header', help="Header added at the beginning of the email for the warning message sent to the customer when a task is closed.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), 'warn_footer': fields.text('Mail Footer', help="Footer added at the beginning of the email for the warning message sent to the customer when a task is closed.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}), @@ -420,7 +420,7 @@ class task(osv.osv): return result.keys() _columns = { - 'active': fields.function(_is_template, method=True, store=True, string='Not a Template Task', type='boolean', help="This field is computed automatically and have the same behavior than the boolean 'active' field: if the task is linked to a template or unactivated project, it will be hidden unless specifically asked."), + 'active': fields.function(_is_template, store=True, string='Not a Template Task', type='boolean', help="This field is computed automatically and have the same behavior than the boolean 'active' field: if the task is linked to a template or unactivated project, it will be hidden unless specifically asked."), 'name': fields.char('Task Summary', size=128, required=True), 'description': fields.text('Description'), 'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority'), @@ -438,23 +438,23 @@ class task(osv.osv): 'child_ids': fields.many2many('project.task', 'project_task_parent_rel', 'parent_id', 'task_id', 'Delegated Tasks'), 'notes': fields.text('Notes'), 'planned_hours': fields.float('Planned Hours', help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'), - 'effective_hours': fields.function(_hours_get, method=True, string='Hours Spent', multi='hours', help="Computed using the sum of the task work done.", + 'effective_hours': fields.function(_hours_get, string='Hours Spent', multi='hours', help="Computed using the sum of the task work done.", store = { 'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours'], 10), 'project.task.work': (_get_task, ['hours'], 10), }), 'remaining_hours': fields.float('Remaining Hours', digits=(16,2), help="Total remaining time, can be re-estimated periodically by the assignee of the task."), - 'total_hours': fields.function(_hours_get, method=True, string='Total Hours', multi='hours', help="Computed as: Time Spent + Remaining Time.", + 'total_hours': fields.function(_hours_get, string='Total Hours', multi='hours', help="Computed as: Time Spent + Remaining Time.", store = { 'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours'], 10), 'project.task.work': (_get_task, ['hours'], 10), }), - 'progress': fields.function(_hours_get, method=True, string='Progress (%)', multi='hours', group_operator="avg", help="If the task has a progress of 99.99% you should close the task if it's finished or reevaluate the time", + 'progress': fields.function(_hours_get, string='Progress (%)', multi='hours', group_operator="avg", help="If the task has a progress of 99.99% you should close the task if it's finished or reevaluate the time", store = { 'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours','state'], 10), 'project.task.work': (_get_task, ['hours'], 10), }), - 'delay_hours': fields.function(_hours_get, method=True, string='Delay Hours', multi='hours', help="Computed as difference of the time estimated by the project manager and the real time to close the task.", + 'delay_hours': fields.function(_hours_get, string='Delay Hours', multi='hours', help="Computed as difference of the time estimated by the project manager and the real time to close the task.", store = { 'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours'], 10), 'project.task.work': (_get_task, ['hours'], 10), diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index a8a32847243..abb9b7e92ff 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -216,7 +216,7 @@ class project_issue(crm.crm_case, osv.osv): 'message_ids': fields.one2many('mailgate.message', 'res_id', 'Messages', domain=[('model','=',_name)]), 'date_action_last': fields.datetime('Last Action', readonly=1), 'date_action_next': fields.datetime('Next Action', readonly=1), - 'progress': fields.function(_hours_get, method=True, string='Progress (%)', multi='hours', group_operator="avg", help="Computed as: Time Spent / Total Time.", + 'progress': fields.function(_hours_get, string='Progress (%)', multi='hours', group_operator="avg", help="Computed as: Time Spent / Total Time.", store = { 'project.issue': (lambda self, cr, uid, ids, c={}: ids, ['task_id'], 10), 'project.task': (_get_issue_task, ['progress'], 10), diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index a6437819248..6c5ef7890bf 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -120,7 +120,7 @@ class project_phase(osv.osv): 'state': fields.selection([('draft', 'Draft'), ('open', 'In Progress'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True, required=True, help='If the phase is created the state \'Draft\'.\n If the phase is started, the state becomes \'In Progress\'.\n If review is needed the phase is in \'Pending\' state.\ \n If the phase is over, the states is set to \'Done\'.'), - 'total_hours': fields.function(_compute, method=True, string='Total Hours'), + 'total_hours': fields.function(_compute, string='Total Hours'), } _defaults = { 'responsible_id': lambda obj,cr,uid,context: uid, @@ -399,7 +399,7 @@ class project_resource_allocation(osv.osv): res[allocation.id] = name return res _columns = { - 'name': fields.function(get_name, method=True, type='char', size=256), + 'name': fields.function(get_name, type='char', size=256), 'resource_id': fields.many2one('resource.resource', 'Resource', required=True), 'phase_id': fields.many2one('project.phase', 'Project Phase', ondelete='cascade', required=True), 'project_id': fields.related('phase_id', 'project_id', type='many2one', relation="project.project", string='Project', store=True), diff --git a/addons/project_planning/project_planning.py b/addons/project_planning/project_planning.py index 46cc225153e..701a9a12cd6 100644 --- a/addons/project_planning/project_planning.py +++ b/addons/project_planning/project_planning.py @@ -128,8 +128,8 @@ class report_account_analytic_planning(osv.osv): 'business_days': fields.integer('Business Days', required=True, states={'done':[('readonly', True)]}, help='Set here the number of working days within this planning for one person full time'), 'planning_user_ids': one2many_mod3('report_account_analytic.planning.user', 'planning_id', 'Planning By User'), 'planning_account': fields.one2many('report_account_analytic.planning.account', 'planning_id', 'Planning By Account'), - 'total_planned': fields.function(_get_total_planned, method=True, string='Total Planned'), - 'total_free': fields.function(_get_total_free, method=True, string='Total Free'), + 'total_planned': fields.function(_get_total_planned, string='Total Planned'), + 'total_free': fields.function(_get_total_free, string='Total Free'), } _defaults = { 'date_from': lambda *a: time.strftime('%Y-%m-01'), @@ -202,7 +202,7 @@ class report_account_analytic_planning_line(osv.osv): 'amount': fields.float('Quantity', required=True), 'amount_unit': fields.many2one('product.uom', 'Qty UoM', required=True), 'note': fields.text('Note', size=64), - 'amount_in_base_uom': fields.function(_amount_base_uom, method=True, string='Quantity in base uom', store=True), + 'amount_in_base_uom': fields.function(_amount_base_uom, string='Quantity in base uom', store=True), 'task_ids': fields.one2many('project.task', 'planning_line_id', 'Planning Tasks'), } _order = 'user_id, account_id' @@ -301,13 +301,13 @@ class report_account_analytic_planning_user(osv.osv): _columns = { 'planning_id': fields.many2one('report_account_analytic.planning', 'Planning'), 'user_id': fields.many2one('res.users', 'User', readonly=True), - 'tasks': fields.function(_get_tasks, method=True, string='Remaining Tasks', help='This value is given by the sum of work remaining to do on the task for this planning, expressed in days.'), + 'tasks': fields.function(_get_tasks, string='Remaining Tasks', help='This value is given by the sum of work remaining to do on the task for this planning, expressed in days.'), 'plan_tasks': fields.float('Time Planned on Tasks', readonly=True, help='This value is given by the sum of time allocation with task(s) linked, expressed in days.'), - 'free': fields.function(_get_free, method=True, string='Unallocated Time', readonly=True, help='Computed as \ + 'free': fields.function(_get_free, string='Unallocated Time', readonly=True, help='Computed as \ Business Days - (Time Allocation of Tasks + Time Allocation without Tasks + Holiday Leaves)'), 'plan_open': fields.float('Time Allocation without Tasks', readonly=True,help='This value is given by the sum of time allocation without task(s) linked, expressed in days.'), 'holiday': fields.float('Leaves',help='This value is given by the total of validated leaves into the \'Date From\' and \'Date To\' of the planning.'), - 'timesheet': fields.function(_get_timesheets, method=True, string='Timesheet', help='This value is given by the sum of all work encoded in the timesheet(s) between the \'Date From\' and \'Date To\' of the planning.'), + 'timesheet': fields.function(_get_timesheets, string='Timesheet', help='This value is given by the sum of all work encoded in the timesheet(s) between the \'Date From\' and \'Date To\' of the planning.'), } def init(self, cr): @@ -435,10 +435,10 @@ class report_account_analytic_planning_account(osv.osv): _columns = { 'planning_id': fields.many2one('report_account_analytic.planning', 'Planning'), 'account_id': fields.many2one('account.analytic.account', 'Analytic account', readonly=True), - 'tasks': fields.function(_get_tasks, method=True, string='Remaining Tasks', help='This value is given by the sum of work remaining to do on the task for this planning, expressed in days.'), + 'tasks': fields.function(_get_tasks, string='Remaining Tasks', help='This value is given by the sum of work remaining to do on the task for this planning, expressed in days.'), 'plan_tasks': fields.float('Time Allocation of Tasks', readonly=True, help='This value is given by the sum of time allocation with the checkbox \'Assigned in Taks\' set to TRUE expressed in days.'), 'plan_open': fields.float('Time Allocation without Tasks', readonly=True, help='This value is given by the sum of time allocation with the checkbox \'Assigned in Taks\' set to FALSE, expressed in days.'), - 'timesheet': fields.function(_get_timesheets, method=True, string='Timesheet', help='This value is given by the sum of all work encoded in the timesheet(s) between the \'Date From\' and \'Date To\' of the planning.'), + 'timesheet': fields.function(_get_timesheets, string='Timesheet', help='This value is given by the sum of all work encoded in the timesheet(s) between the \'Date From\' and \'Date To\' of the planning.'), } def init(self, cr): @@ -546,8 +546,8 @@ WHERE user_id=%s and account_id=%s and date>=%s and date<=%s''', (line.user_id.i 'manager_id': fields.many2one('res.users', 'Manager'), 'account_id': fields.many2one('account.analytic.account', 'Account'), 'sum_amount': fields.float('Planned Days', required=True), - 'sum_amount_real': fields.function(_sum_amount_real, method=True, string='Timesheet'), - 'sum_amount_tasks': fields.function(_sum_amount_tasks, method=True, string='Tasks'), + 'sum_amount_real': fields.function(_sum_amount_real, string='Timesheet'), + 'sum_amount_tasks': fields.function(_sum_amount_tasks, string='Tasks'), } def init(self, cr): diff --git a/addons/project_scrum/project_scrum.py b/addons/project_scrum/project_scrum.py index 6c274aa3f6a..334a415982d 100644 --- a/addons/project_scrum/project_scrum.py +++ b/addons/project_scrum/project_scrum.py @@ -106,9 +106,9 @@ class project_scrum_sprint(osv.osv): 'review': fields.text('Sprint Review'), 'retrospective': fields.text('Sprint Retrospective'), 'backlog_ids': fields.one2many('project.scrum.product.backlog', 'sprint_id', 'Sprint Backlog'), - 'progress': fields.function(_compute, group_operator="avg", type='float', multi="progress", method=True, string='Progress (0-100)', help="Computed as: Time Spent / Total Time."), - 'effective_hours': fields.function(_compute, multi="effective_hours", method=True, string='Effective hours', help="Computed using the sum of the task work done."), - 'expected_hours': fields.function(_compute, multi="expected_hours", method=True, string='Planned Hours', help='Estimated time to do the task.'), + 'progress': fields.function(_compute, group_operator="avg", type='float', multi="progress", string='Progress (0-100)', help="Computed as: Time Spent / Total Time."), + 'effective_hours': fields.function(_compute, multi="effective_hours", string='Effective hours', help="Computed using the sum of the task work done."), + 'expected_hours': fields.function(_compute, multi="expected_hours", string='Planned Hours', help='Estimated time to do the task.'), 'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('cancel','Cancelled'),('done','Done')], 'State', required=True), } _defaults = { @@ -230,11 +230,11 @@ class project_scrum_product_backlog(osv.osv): 'sequence' : fields.integer('Sequence', help="Gives the sequence order when displaying a list of product backlog."), 'tasks_id': fields.one2many('project.task', 'product_backlog_id', 'Tasks Details'), 'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('done','Done'),('cancel','Cancelled')], 'State', required=True), - 'progress': fields.function(_compute, multi="progress", group_operator="avg", type='float', method=True, string='Progress', help="Computed as: Time Spent / Total Time."), - 'effective_hours': fields.function(_compute, multi="effective_hours", method=True, string='Spent Hours', help="Computed using the sum of the time spent on every related tasks", store=True), + 'progress': fields.function(_compute, multi="progress", group_operator="avg", type='float', string='Progress', help="Computed as: Time Spent / Total Time."), + 'effective_hours': fields.function(_compute, multi="effective_hours", string='Spent Hours', help="Computed using the sum of the time spent on every related tasks", store=True), 'expected_hours': fields.float('Planned Hours', help='Estimated total time to do the Backlog'), 'create_date': fields.datetime("Creation Date", readonly=True), - 'task_hours': fields.function(_compute, multi="task_hours", method=True, string='Task Hours', help='Estimated time of the total hours of the tasks') + 'task_hours': fields.function(_compute, multi="task_hours", string='Task Hours', help='Estimated time of the total hours of the tasks') } _defaults = { 'state': 'draft', diff --git a/addons/project_timesheet/report/task_report.py b/addons/project_timesheet/report/task_report.py index 623d4e4a5cd..3c223ab6b07 100644 --- a/addons/project_timesheet/report/task_report.py +++ b/addons/project_timesheet/report/task_report.py @@ -62,8 +62,8 @@ class report_timesheet_task_user(osv.osv): 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True), 'user_id': fields.many2one('res.users', 'User',readonly=True), - 'timesheet_hrs': fields.function(get_hrs_timesheet, method=True, string="Timesheet Hours"), - 'task_hrs': fields.function(_get_task_hours, method=True, string="Task Hours"), + 'timesheet_hrs': fields.function(get_hrs_timesheet, string="Timesheet Hours"), + 'task_hrs': fields.function(_get_task_hours, string="Task Hours"), } def init(self, cr): diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 6f6ab0c1b44..6ec558acc97 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -185,29 +185,29 @@ class purchase_order(osv.osv): 'invoice_ids': fields.many2many('account.invoice', 'purchase_invoice_rel', 'purchase_id', 'invoice_id', 'Invoices', help="Invoices generated for a purchase order"), 'picking_ids': fields.one2many('stock.picking', 'purchase_id', 'Picking List', readonly=True, help="This is the list of picking list that have been generated for this purchase"), 'shipped':fields.boolean('Received', readonly=True, select=True, help="It indicates that a picking has been done"), - 'shipped_rate': fields.function(_shipped_rate, method=True, string='Received', type='float'), - 'invoiced': fields.function(_invoiced, method=True, string='Invoiced & Paid', type='boolean', help="It indicates that an invoice has been paid"), - 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'), + 'shipped_rate': fields.function(_shipped_rate, string='Received', type='float'), + 'invoiced': fields.function(_invoiced, string='Invoiced & Paid', type='boolean', help="It indicates that an invoice has been paid"), + 'invoiced_rate': fields.function(_invoiced_rate, string='Invoiced', type='float'), 'invoice_method': fields.selection([('manual','Manual'),('order','From Order'),('picking','From Picking')], 'Invoicing Control', required=True, help="From Order: a draft invoice will be pre-generated based on the purchase order. The accountant " \ "will just have to validate this invoice for control.\n" \ "From Picking: a draft invoice will be pre-generated based on validated receptions.\n" \ "Manual: allows you to generate suppliers invoices by chosing in the uninvoiced lines of all manual purchase orders." ), - 'minimum_planned_date':fields.function(_minimum_planned_date, fnct_inv=_set_minimum_planned_date, method=True, string='Expected Date', type='date', select=True, help="This is computed as the minimum scheduled date of all purchase order lines' products.", + 'minimum_planned_date':fields.function(_minimum_planned_date, fnct_inv=_set_minimum_planned_date, string='Expected Date', type='date', select=True, help="This is computed as the minimum scheduled date of all purchase order lines' products.", store = { 'purchase.order.line': (_get_order, ['date_planned'], 10), } ), - 'amount_untaxed': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Untaxed Amount', + 'amount_untaxed': fields.function(_amount_all, digits_compute= dp.get_precision('Purchase Price'), string='Untaxed Amount', store={ 'purchase.order.line': (_get_order, None, 10), }, multi="sums", help="The amount without tax"), - 'amount_tax': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Taxes', + 'amount_tax': fields.function(_amount_all, digits_compute= dp.get_precision('Purchase Price'), string='Taxes', store={ 'purchase.order.line': (_get_order, None, 10), }, multi="sums", help="The tax amount"), - 'amount_total': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Total', + 'amount_total': fields.function(_amount_all, digits_compute= dp.get_precision('Purchase Price'), string='Total', store={ 'purchase.order.line': (_get_order, None, 10), }, multi="sums",help="The total amount"), @@ -622,7 +622,7 @@ class purchase_order_line(osv.osv): 'move_ids': fields.one2many('stock.move', 'purchase_line_id', 'Reservation', readonly=True, ondelete='set null'), 'move_dest_id': fields.many2one('stock.move', 'Reservation Destination', ondelete='set null'), 'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Purchase Price')), - 'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', digits_compute= dp.get_precision('Purchase Price')), + 'price_subtotal': fields.function(_amount_line, string='Subtotal', digits_compute= dp.get_precision('Purchase Price')), 'notes': fields.text('Notes'), 'order_id': fields.many2one('purchase.order', 'Order Reference', select=True, required=True, ondelete='cascade'), 'account_analytic_id':fields.many2one('account.analytic.account', 'Analytic Account',), diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 0b436f0dc91..e9a670cdaaf 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -236,25 +236,25 @@ class sale_order(osv.osv): '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)."), 'picking_ids': fields.one2many('stock.picking', 'sale_id', 'Related Picking', readonly=True, help="This is a list of picking that has been generated for this sales order."), 'shipped': fields.boolean('Delivered', readonly=True, help="It indicates that the sales order has been delivered. This field is updated only after the scheduler(s) have been launched."), - 'picked_rate': fields.function(_picked_rate, method=True, string='Picked', type='float'), - 'invoiced_rate': fields.function(_invoiced_rate, method=True, string='Invoiced', type='float'), - 'invoiced': fields.function(_invoiced, method=True, string='Paid', + 'picked_rate': fields.function(_picked_rate, string='Picked', type='float'), + 'invoiced_rate': fields.function(_invoiced_rate, string='Invoiced', type='float'), + 'invoiced': fields.function(_invoiced, string='Paid', fnct_search=_invoiced_search, type='boolean', help="It indicates that an invoice has been paid."), 'note': fields.text('Notes'), - 'amount_untaxed': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Sale Price'), string='Untaxed Amount', + 'amount_untaxed': fields.function(_amount_all, digits_compute= dp.get_precision('Sale Price'), string='Untaxed Amount', store = { 'sale.order': (lambda self, cr, uid, ids, c={}: ids, ['order_line'], 10), 'sale.order.line': (_get_order, ['price_unit', 'tax_id', 'discount', 'product_uom_qty'], 10), }, multi='sums', help="The amount without tax."), - 'amount_tax': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Sale Price'), string='Taxes', + 'amount_tax': fields.function(_amount_all, digits_compute= dp.get_precision('Sale Price'), string='Taxes', store = { 'sale.order': (lambda self, cr, uid, ids, c={}: ids, ['order_line'], 10), 'sale.order.line': (_get_order, ['price_unit', 'tax_id', 'discount', 'product_uom_qty'], 10), }, multi='sums', help="The tax amount."), - 'amount_total': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Sale Price'), string='Total', + 'amount_total': fields.function(_amount_all, digits_compute= dp.get_precision('Sale Price'), string='Total', store = { 'sale.order': (lambda self, cr, uid, ids, c={}: ids, ['order_line'], 10), 'sale.order.line': (_get_order, ['price_unit', 'tax_id', 'discount', 'product_uom_qty'], 10), @@ -851,7 +851,7 @@ class sale_order_line(osv.osv): 'invoiced': fields.boolean('Invoiced', readonly=True), 'procurement_id': fields.many2one('procurement.order', 'Procurement'), 'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}), - 'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', digits_compute= dp.get_precision('Sale Price')), + 'price_subtotal': fields.function(_amount_line, string='Subtotal', digits_compute= dp.get_precision('Sale Price')), 'tax_id': fields.many2many('account.tax', 'sale_order_tax', 'order_line_id', 'tax_id', 'Taxes', readonly=True, states={'draft': [('readonly', False)]}), 'type': fields.selection([('make_to_stock', 'from stock'), ('make_to_order', 'on order')], 'Procurement Method', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft': [('readonly', False)]}), @@ -863,7 +863,7 @@ class sale_order_line(osv.osv): 'product_packaging': fields.many2one('product.packaging', 'Packaging'), 'move_ids': fields.one2many('stock.move', 'sale_line_id', 'Inventory Moves', readonly=True), 'discount': fields.float('Discount (%)', digits=(16, 2), readonly=True, states={'draft': [('readonly', False)]}), - 'number_packages': fields.function(_number_packages, method=True, type='integer', string='Number Packages'), + 'number_packages': fields.function(_number_packages, type='integer', string='Number Packages'), 'notes': fields.text('Notes'), 'th_weight': fields.float('Weight', readonly=True, states={'draft': [('readonly', False)]}), 'state': fields.selection([('draft', 'Draft'),('confirmed', 'Confirmed'),('done', 'Done'),('cancel', 'Cancelled'),('exception', 'Exception')], 'State', required=True, readonly=True, diff --git a/addons/sale_journal/sale_journal.py b/addons/sale_journal/sale_journal.py index 8d5d219537f..136e7d68198 100644 --- a/addons/sale_journal/sale_journal.py +++ b/addons/sale_journal/sale_journal.py @@ -48,7 +48,6 @@ class res_partner(osv.osv): type = 'many2one', relation = 'sale_journal.invoice.type', string = "Invoicing Method", - method = True, view_load = True, group_name = "Accounting Properties", help = "The type of journal used for sales and picking."), diff --git a/addons/sale_margin/sale_margin.py b/addons/sale_margin/sale_margin.py index 8f1cb8027ae..24f36b9f94b 100644 --- a/addons/sale_margin/sale_margin.py +++ b/addons/sale_margin/sale_margin.py @@ -49,7 +49,7 @@ class sale_order_line(osv.osv): return res _columns = { - 'margin': fields.function(_product_margin, method=True, string='Margin', store=True), + 'margin': fields.function(_product_margin, string='Margin', store=True), 'purchase_price': fields.float('Cost Price', digits=(16,2)) } @@ -67,7 +67,7 @@ class sale_order(osv.osv): return result _columns = { - 'margin': fields.function(_product_margin, method=True, string='Margin', store=True, help="It gives profitability by calculating the difference between the Unit Price and Cost Price."), + 'margin': fields.function(_product_margin, string='Margin', store=True, help="It gives profitability by calculating the difference between the Unit Price and Cost Price."), } sale_order() diff --git a/addons/sale_mrp/sale_mrp.py b/addons/sale_mrp/sale_mrp.py index ae1df1eb946..840c33770a7 100644 --- a/addons/sale_mrp/sale_mrp.py +++ b/addons/sale_mrp/sale_mrp.py @@ -70,8 +70,8 @@ class mrp_production(osv.osv): return res _columns = { - 'sale_name': fields.function(_ref_calc, method=True, multi='sale_name', type='char', string='Sales Name', help='Indicate the name of sales order.'), - 'sale_ref': fields.function(_ref_calc, method=True, multi='sale_name', type='char', string='Sales Reference', help='Indicate the Customer Reference from sales order.'), + 'sale_name': fields.function(_ref_calc, multi='sale_name', type='char', string='Sales Name', help='Indicate the name of sales order.'), + 'sale_ref': fields.function(_ref_calc, multi='sale_name', type='char', string='Sales Reference', help='Indicate the Customer Reference from sales order.'), } mrp_production() diff --git a/addons/sale_order_dates/sale_order_dates.py b/addons/sale_order_dates/sale_order_dates.py index 60595903ab8..ceb6d48755c 100644 --- a/addons/sale_order_dates/sale_order_dates.py +++ b/addons/sale_order_dates/sale_order_dates.py @@ -54,9 +54,9 @@ class sale_order_dates(osv.osv): return res _columns = { - 'commitment_date': fields.function(_get_commitment_date, method=True, store=True, type='date', string='Commitment Date', help="Date on which delivery of products is to be made."), + 'commitment_date': fields.function(_get_commitment_date, store=True, type='date', string='Commitment Date', help="Date on which delivery of products is to be made."), 'requested_date': fields.date('Requested Date', help="Date on which customer has requested for sales."), - 'effective_date': fields.function(_get_effective_date, method=True, type='date', store=True, string='Effective Date',help="Date on which picking is created."), + 'effective_date': fields.function(_get_effective_date, type='date', store=True, string='Effective Date',help="Date on which picking is created."), } sale_order_dates() diff --git a/addons/stock/product.py b/addons/stock/product.py index 2a819ea89b2..49068deba96 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -326,10 +326,10 @@ class product_product(osv.osv): return res _columns = { - 'qty_available': fields.function(_product_available, method=True, type='float', string='Real Stock', help="Current quantities of products in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), - 'virtual_available': fields.function(_product_available, method=True, type='float', string='Virtual Stock', help="Future stock for this product according to the selected locations or all internal if none have been selected. Computed as: Real Stock - Outgoing + Incoming.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), - 'incoming_qty': fields.function(_product_available, method=True, type='float', string='Incoming', help="Quantities of products that are planned to arrive in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), - 'outgoing_qty': fields.function(_product_available, method=True, type='float', string='Outgoing', help="Quantities of products that are planned to leave in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), + 'qty_available': fields.function(_product_available, type='float', string='Real Stock', help="Current quantities of products in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), + 'virtual_available': fields.function(_product_available, type='float', string='Virtual Stock', help="Future stock for this product according to the selected locations or all internal if none have been selected. Computed as: Real Stock - Outgoing + Incoming.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), + 'incoming_qty': fields.function(_product_available, type='float', string='Incoming', help="Quantities of products that are planned to arrive in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), + 'outgoing_qty': fields.function(_product_available, type='float', string='Outgoing', help="Quantities of products that are planned to leave in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')), 'track_production': fields.boolean('Track Manufacturing Lots' , help="Forces to specify a Production Lot for all moves containing this product and generated by a Manufacturing Order"), 'track_incoming': fields.boolean('Track Incoming Lots', help="Forces to specify a Production Lot for all moves containing this product and coming from a Supplier Location"), 'track_outgoing': fields.boolean('Track Outgoing Lots', help="Forces to specify a Production Lot for all moves containing this product and going to a Customer Location"), @@ -423,11 +423,11 @@ class product_template(osv.osv): help="For the current product, this stock location will be used, instead of the default one, as the source location for stock moves generated when you do an inventory"), 'property_stock_account_input': fields.property('account.account', type='many2one', relation='account.account', - string='Stock Input Account', method=True, view_load=True, + string='Stock Input Account', view_load=True, help='When doing real-time inventory valuation, counterpart Journal Items for all incoming stock moves will be posted in this account. If not set on the product, the one from the product category is used.'), 'property_stock_account_output': fields.property('account.account', type='many2one', relation='account.account', - string='Stock Output Account', method=True, view_load=True, + string='Stock Output Account', view_load=True, help='When doing real-time inventory valuation, counterpart Journal Items for all outgoing stock moves will be posted in this account. If not set on the product, the one from the product category is used.'), } @@ -439,15 +439,15 @@ class product_category(osv.osv): _columns = { 'property_stock_journal': fields.property('account.journal', relation='account.journal', type='many2one', - string='Stock journal', method=True, view_load=True, + string='Stock journal', view_load=True, help="When doing real-time inventory valuation, this is the Accounting Journal in which entries will be automatically posted when stock moves are processed."), 'property_stock_account_input_categ': fields.property('account.account', type='many2one', relation='account.account', - string='Stock Input Account', method=True, view_load=True, + string='Stock Input Account', view_load=True, help='When doing real-time inventory valuation, counterpart Journal Items for all incoming stock moves will be posted in this account. This is the default value for all products in this category, it can also directly be set on each product.'), 'property_stock_account_output_categ': fields.property('account.account', type='many2one', relation='account.account', - string='Stock Output Account', method=True, view_load=True, + string='Stock Output Account', view_load=True, help='When doing real-time inventory valuation, counterpart Journal Items for all outgoing stock moves will be posted in this account. This is the default value for all products in this category, it can also directly be set on each product.'), 'property_stock_variation': fields.property('account.account', type='many2one', diff --git a/addons/stock/stock.py b/addons/stock/stock.py index d478ab39c9c..e93a60289aa 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -167,10 +167,10 @@ class stock_location(osv.osv): \n* Production: Virtual counterpart location for production operations: this location consumes the raw material and produces finished products """, select = True), # temporarily removed, as it's unused: 'allocation_method': fields.selection([('fifo', 'FIFO'), ('lifo', 'LIFO'), ('nearest', 'Nearest')], 'Allocation Method', required=True), - 'complete_name': fields.function(_complete_name, method=True, type='char', size=100, string="Location Name"), + 'complete_name': fields.function(_complete_name, type='char', size=100, string="Location Name"), - 'stock_real': fields.function(_product_value, method=True, type='float', string='Real Stock', multi="stock"), - 'stock_virtual': fields.function(_product_value, method=True, type='float', string='Virtual Stock', multi="stock"), + 'stock_real': fields.function(_product_value, type='float', string='Real Stock', multi="stock"), + 'stock_virtual': fields.function(_product_value, type='float', string='Virtual Stock', multi="stock"), 'location_id': fields.many2one('stock.location', 'Parent Location', select=True, ondelete='cascade'), 'child_ids': fields.one2many('stock.location', 'location_id', 'Contains'), @@ -207,8 +207,8 @@ class stock_location(osv.osv): 'parent_left': fields.integer('Left Parent', select=1), 'parent_right': fields.integer('Right Parent', select=1), - 'stock_real_value': fields.function(_product_value, method=True, type='float', string='Real Stock Value', multi="stock", digits_compute=dp.get_precision('Account')), - 'stock_virtual_value': fields.function(_product_value, method=True, type='float', string='Virtual Stock Value', multi="stock", digits_compute=dp.get_precision('Account')), + 'stock_real_value': fields.function(_product_value, type='float', string='Real Stock Value', multi="stock", digits_compute=dp.get_precision('Account')), + 'stock_virtual_value': fields.function(_product_value, type='float', string='Virtual Stock Value', multi="stock", digits_compute=dp.get_precision('Account')), 'company_id': fields.many2one('res.company', 'Company', select=1, help='Let this field empty if this location is shared between all companies'), 'scrap_location': fields.boolean('Scrap Location', help='Check this box to allow using this location to put scrapped/damaged goods.'), 'valuation_in_account_id': fields.many2one('account.account', 'Stock Input Account',domain = [('type','=','other')], help='This account will be used to value stock moves that have this location as destination, instead of the stock output account from the product.'), @@ -1399,7 +1399,7 @@ class stock_production_lot(osv.osv): 'prefix': fields.char('Prefix', size=64, help="Optional prefix to prepend when displaying this serial number: PREFIX/SERIAL [INT_REF]"), 'product_id': fields.many2one('product.product', 'Product', required=True, domain=[('type', '<>', 'service')]), 'date': fields.datetime('Creation Date', required=True), - 'stock_available': fields.function(_get_stock, fnct_search=_stock_search, method=True, type="float", string="Available", select=True, + 'stock_available': fields.function(_get_stock, fnct_search=_stock_search, type="float", string="Available", select=True, help="Current quantity of products with this Production Lot Number available in company warehouses", digits_compute=dp.get_precision('Product UoM')), 'revisions': fields.one2many('stock.production.lot.revision', 'lot_id', 'Revisions'), diff --git a/addons/stock_planning/stock_planning.py b/addons/stock_planning/stock_planning.py index 160ce6a3c20..7e9342292b9 100644 --- a/addons/stock_planning/stock_planning.py +++ b/addons/stock_planning/stock_planning.py @@ -459,9 +459,9 @@ class stock_planning(osv.osv): 'planned_outgoing': fields.float('Planned Out', required=True, \ help = 'Enter planned outgoing quantity from selected Warehouse during the selected Period of selected Product. '\ 'To plan this value look at Confirmed Out or Sales Forecasts. This value should be equal or greater than Confirmed Out.'), - 'company_forecast': fields.function(_get_forecast, method=True, string ='Company Forecast', multi = 'company', \ + 'company_forecast': fields.function(_get_forecast, string ='Company Forecast', multi = 'company', \ help = 'All sales forecasts for whole company (for all Warehouses) of selected Product during selected Period.'), - 'warehouse_forecast': fields.function(_get_forecast, method=True, string ='Warehouse Forecast', multi = 'warehouse',\ + 'warehouse_forecast': fields.function(_get_forecast, string ='Warehouse Forecast', multi = 'warehouse',\ help = 'All sales forecasts for selected Warehouse of selected Product during selected Period.'), 'stock_simulation': fields.float('Stock Simulation', readonly =True, \ help = 'Stock simulation at the end of selected Period.\n For current period it is: \n' \ @@ -480,10 +480,10 @@ class stock_planning(osv.osv): 'to_procure': fields.float(string='Planned In', required=True, \ help = 'Enter quantity which (by your plan) should come in. Change this value and observe Stock simulation. ' \ 'This value should be equal or greater than Confirmed In.'), - 'line_time': fields.function(_get_past_future, method=True,type='char', string='Past/Future'), - 'minimum_op': fields.function(_get_op, method=True, type='float', string = 'Minimum Rule', multi= 'minimum', \ + 'line_time': fields.function(_get_past_future,type='char', string='Past/Future'), + 'minimum_op': fields.function(_get_op, type='float', string = 'Minimum Rule', multi= 'minimum', \ help = 'Minimum quantity set in Minimum Stock Rules for this Warhouse'), - 'maximum_op': fields.function(_get_op, method=True, type='float', string = 'Maximum Rule', multi= 'maximum', \ + 'maximum_op': fields.function(_get_op, type='float', string = 'Maximum Rule', multi= 'maximum', \ help = 'Maximum quantity set in Minimum Stock Rules for this Warhouse'), 'outgoing_before': fields.float('Planned Out Before', readonly=True, \ help= 'Planned Out in periods before calculated. '\ diff --git a/addons/survey/survey.py b/addons/survey/survey.py index 42111499187..74d15382670 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -247,7 +247,7 @@ class survey_question(osv.osv): 'req_error_msg': fields.text('Error Message'), 'allow_comment': fields.boolean('Allow Comment Field'), 'sequence': fields.integer('Sequence'), - 'tot_resp': fields.function(_calc_response, method=True, string="Total Answer"), + 'tot_resp': fields.function(_calc_response, string="Total Answer"), 'survey': fields.related('page_id', 'survey_id', type='many2one', relation='survey', string='Survey'), 'descriptive_text': fields.text('Descriptive Text', size=255), 'column_heading_ids': fields.one2many('survey.question.column.heading', 'question_id',' Column heading'), @@ -586,8 +586,8 @@ class survey_answer(osv.osv): 'question_id': fields.many2one('survey.question', 'Question', ondelete='cascade'), 'answer': fields.char('Answer', size=128, required=1), 'sequence': fields.integer('Sequence'), - 'response': fields.function(_calc_response_avg, method=True, string="#Answer", multi='sums'), - 'average': fields.function(_calc_response_avg, method=True, string="#Avg", multi='sums'), + 'response': fields.function(_calc_response_avg, string="#Answer", multi='sums'), + 'average': fields.function(_calc_response_avg, string="#Avg", multi='sums'), 'type': fields.selection([('char','Character'),('date','Date'),('datetime','Date & Time'),\ ('integer','Integer'),('float','Float'),('selection','Selection'),\ ('email','Email')], "Type of Answer",required=1), From 63ebd1cdb30dfca27e897ae03ddfa49fb2c824ce Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Sat, 2 Jul 2011 05:05:53 +0000 Subject: [PATCH 20/34] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20110702050553-o1o1p8skzk0twqr9 --- debian/po/bg.po | 2 +- debian/po/ca.po | 2 +- debian/po/cs.po | 2 +- debian/po/de.po | 2 +- debian/po/el.po | 2 +- debian/po/en_GB.po | 2 +- debian/po/es.po | 2 +- debian/po/es_CL.po | 2 +- debian/po/es_EC.po | 2 +- debian/po/fa.po | 2 +- debian/po/fi.po | 2 +- debian/po/fr.po | 2 +- debian/po/gl.po | 2 +- debian/po/he.po | 2 +- debian/po/hr.po | 2 +- debian/po/hu.po | 2 +- debian/po/it.po | 2 +- debian/po/ja.po | 2 +- debian/po/ko.po | 2 +- debian/po/lv.po | 2 +- debian/po/mn.po | 2 +- debian/po/nb.po | 2 +- debian/po/nl.po | 2 +- debian/po/pl.po | 2 +- debian/po/pt.po | 2 +- debian/po/pt_BR.po | 2 +- debian/po/ro.po | 2 +- debian/po/ru.po | 2 +- debian/po/sk.po | 2 +- debian/po/sq.po | 2 +- debian/po/sr.po | 2 +- debian/po/sv.po | 2 +- debian/po/tr.po | 2 +- debian/po/uk.po | 2 +- debian/po/vi.po | 2 +- debian/po/zh_CN.po | 2 +- debian/po/zh_TW.po | 2 +- openerp/addons/base/i18n/af.po | 2 +- openerp/addons/base/i18n/am.po | 2 +- openerp/addons/base/i18n/ar.po | 26 +++++++++++++------------- openerp/addons/base/i18n/bg.po | 2 +- openerp/addons/base/i18n/bs.po | 2 +- openerp/addons/base/i18n/ca.po | 2 +- openerp/addons/base/i18n/cs.po | 2 +- openerp/addons/base/i18n/da.po | 2 +- openerp/addons/base/i18n/de.po | 2 +- openerp/addons/base/i18n/el.po | 2 +- openerp/addons/base/i18n/en_GB.po | 2 +- openerp/addons/base/i18n/es.po | 2 +- openerp/addons/base/i18n/es_CL.po | 2 +- openerp/addons/base/i18n/es_EC.po | 2 +- openerp/addons/base/i18n/et.po | 2 +- openerp/addons/base/i18n/eu.po | 2 +- openerp/addons/base/i18n/fa.po | 2 +- openerp/addons/base/i18n/fa_AF.po | 2 +- openerp/addons/base/i18n/fi.po | 2 +- openerp/addons/base/i18n/fr.po | 2 +- openerp/addons/base/i18n/gl.po | 2 +- openerp/addons/base/i18n/he.po | 2 +- openerp/addons/base/i18n/hr.po | 2 +- openerp/addons/base/i18n/hu.po | 2 +- openerp/addons/base/i18n/hy.po | 2 +- openerp/addons/base/i18n/id.po | 2 +- openerp/addons/base/i18n/is.po | 2 +- openerp/addons/base/i18n/it.po | 2 +- openerp/addons/base/i18n/ja.po | 2 +- openerp/addons/base/i18n/ko.po | 2 +- openerp/addons/base/i18n/lt.po | 2 +- openerp/addons/base/i18n/lv.po | 2 +- openerp/addons/base/i18n/mk.po | 2 +- openerp/addons/base/i18n/mn.po | 2 +- openerp/addons/base/i18n/nb.po | 2 +- openerp/addons/base/i18n/nl.po | 2 +- openerp/addons/base/i18n/nl_BE.po | 2 +- openerp/addons/base/i18n/pl.po | 2 +- openerp/addons/base/i18n/pt.po | 2 +- openerp/addons/base/i18n/pt_BR.po | 2 +- openerp/addons/base/i18n/ro.po | 2 +- openerp/addons/base/i18n/ru.po | 8 ++++---- openerp/addons/base/i18n/sk.po | 2 +- openerp/addons/base/i18n/sl.po | 2 +- openerp/addons/base/i18n/sq.po | 2 +- openerp/addons/base/i18n/sr.po | 2 +- openerp/addons/base/i18n/sr@latin.po | 2 +- openerp/addons/base/i18n/sv.po | 2 +- openerp/addons/base/i18n/th.po | 2 +- openerp/addons/base/i18n/tlh.po | 2 +- openerp/addons/base/i18n/tr.po | 4 ++-- openerp/addons/base/i18n/uk.po | 2 +- openerp/addons/base/i18n/ur.po | 2 +- openerp/addons/base/i18n/vi.po | 2 +- openerp/addons/base/i18n/zh_CN.po | 2 +- openerp/addons/base/i18n/zh_TW.po | 2 +- 93 files changed, 109 insertions(+), 109 deletions(-) diff --git a/debian/po/bg.po b/debian/po/bg.po index 09b50a70b26..09d5b6390ba 100644 --- a/debian/po/bg.po +++ b/debian/po/bg.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/ca.po b/debian/po/ca.po index 07094463302..cfeccff5ec7 100644 --- a/debian/po/ca.po +++ b/debian/po/ca.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/cs.po b/debian/po/cs.po index 14ba09b9a54..8b41f7f4702 100644 --- a/debian/po/cs.po +++ b/debian/po/cs.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/de.po b/debian/po/de.po index 8653956dd71..972d8c13bea 100644 --- a/debian/po/de.po +++ b/debian/po/de.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/el.po b/debian/po/el.po index 7a2875ef213..55234f50535 100644 --- a/debian/po/el.po +++ b/debian/po/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/en_GB.po b/debian/po/en_GB.po index 512d7666477..ea295d8c03e 100644 --- a/debian/po/en_GB.po +++ b/debian/po/en_GB.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/es.po b/debian/po/es.po index a68e0fd543d..77e79d58b08 100644 --- a/debian/po/es.po +++ b/debian/po/es.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/es_CL.po b/debian/po/es_CL.po index 5146f4cc7b4..7f953ce377d 100644 --- a/debian/po/es_CL.po +++ b/debian/po/es_CL.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/es_EC.po b/debian/po/es_EC.po index da256cfbe36..d59820c54e3 100644 --- a/debian/po/es_EC.po +++ b/debian/po/es_EC.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/fa.po b/debian/po/fa.po index f9cdb06112c..0703c40444c 100644 --- a/debian/po/fa.po +++ b/debian/po/fa.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/fi.po b/debian/po/fi.po index 10a1cdc7010..19c253f5fbf 100644 --- a/debian/po/fi.po +++ b/debian/po/fi.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/fr.po b/debian/po/fr.po index deedfd07dcb..731c7355bb6 100644 --- a/debian/po/fr.po +++ b/debian/po/fr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/gl.po b/debian/po/gl.po index ce42e2aab4f..897e4403052 100644 --- a/debian/po/gl.po +++ b/debian/po/gl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/he.po b/debian/po/he.po index d7b3b0dbcee..5fae5da9f4d 100644 --- a/debian/po/he.po +++ b/debian/po/he.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/hr.po b/debian/po/hr.po index c2d97d82b40..a46872aec17 100644 --- a/debian/po/hr.po +++ b/debian/po/hr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/hu.po b/debian/po/hu.po index e647b27cfc3..be7d7d35a1d 100644 --- a/debian/po/hu.po +++ b/debian/po/hu.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/it.po b/debian/po/it.po index ec640df4f3e..4891f1b3e22 100644 --- a/debian/po/it.po +++ b/debian/po/it.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/ja.po b/debian/po/ja.po index efc1e263544..9e66fcf3b2c 100644 --- a/debian/po/ja.po +++ b/debian/po/ja.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/ko.po b/debian/po/ko.po index 32f178ed132..63f1decc99d 100644 --- a/debian/po/ko.po +++ b/debian/po/ko.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/lv.po b/debian/po/lv.po index f9703dfa007..aa84c323469 100644 --- a/debian/po/lv.po +++ b/debian/po/lv.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/mn.po b/debian/po/mn.po index aad21704d52..cf0a9b1d061 100644 --- a/debian/po/mn.po +++ b/debian/po/mn.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/nb.po b/debian/po/nb.po index e17168b4c90..865961a630f 100644 --- a/debian/po/nb.po +++ b/debian/po/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/nl.po b/debian/po/nl.po index 42999c15d53..9432670cb10 100644 --- a/debian/po/nl.po +++ b/debian/po/nl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/pl.po b/debian/po/pl.po index 72060b2014c..4e8f8884998 100644 --- a/debian/po/pl.po +++ b/debian/po/pl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/pt.po b/debian/po/pt.po index 5ee3f072953..144f8272d23 100644 --- a/debian/po/pt.po +++ b/debian/po/pt.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po index e889e19762d..d5266e3ae25 100644 --- a/debian/po/pt_BR.po +++ b/debian/po/pt_BR.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/ro.po b/debian/po/ro.po index fa877dc4422..37bd9211980 100644 --- a/debian/po/ro.po +++ b/debian/po/ro.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/ru.po b/debian/po/ru.po index 3f4aae1e425..7bfd46dc961 100644 --- a/debian/po/ru.po +++ b/debian/po/ru.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/sk.po b/debian/po/sk.po index c5ff614ee84..28d8301e688 100644 --- a/debian/po/sk.po +++ b/debian/po/sk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/sq.po b/debian/po/sq.po index 08011f04f2f..5e860c2de73 100644 --- a/debian/po/sq.po +++ b/debian/po/sq.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/sr.po b/debian/po/sr.po index 0276e221057..e28d9d50012 100644 --- a/debian/po/sr.po +++ b/debian/po/sr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/sv.po b/debian/po/sv.po index afd5118f8c8..ba2e0f434bf 100644 --- a/debian/po/sv.po +++ b/debian/po/sv.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" "X-Poedit-Language: Swedish\n" diff --git a/debian/po/tr.po b/debian/po/tr.po index fce53c415ba..0c37bafb2f6 100644 --- a/debian/po/tr.po +++ b/debian/po/tr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/uk.po b/debian/po/uk.po index 4c58df2d35a..3c2b29dc28a 100644 --- a/debian/po/uk.po +++ b/debian/po/uk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/vi.po b/debian/po/vi.po index 8e20be9d311..e2392f3089c 100644 --- a/debian/po/vi.po +++ b/debian/po/vi.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/zh_CN.po b/debian/po/zh_CN.po index 10e078fe5c9..6d4a3abea9f 100644 --- a/debian/po/zh_CN.po +++ b/debian/po/zh_CN.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. Type: string diff --git a/debian/po/zh_TW.po b/debian/po/zh_TW.po index d13900e0b39..c36e8d6f1a5 100644 --- a/debian/po/zh_TW.po +++ b/debian/po/zh_TW.po @@ -12,7 +12,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:46+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" "X-Poedit-Country: TAIWAN\n" "X-Poedit-Language: Chinese\n" diff --git a/openerp/addons/base/i18n/af.po b/openerp/addons/base/i18n/af.po index d13be8cad4d..a62a0a5f409 100644 --- a/openerp/addons/base/i18n/af.po +++ b/openerp/addons/base/i18n/af.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:34+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:54+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/am.po b/openerp/addons/base/i18n/am.po index d02211564a2..806bc3996d6 100644 --- a/openerp/addons/base/i18n/am.po +++ b/openerp/addons/base/i18n/am.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:34+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:54+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/ar.po b/openerp/addons/base/i18n/ar.po index 6b23e8bdb0a..d31657dc6d2 100644 --- a/openerp/addons/base/i18n/ar.po +++ b/openerp/addons/base/i18n/ar.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:34+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:54+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base @@ -23,7 +23,7 @@ msgstr "" #: field:ir.rule,domain_force:0 #: field:res.partner.title,domain:0 msgid "Domain" -msgstr "" +msgstr "النطاق" #. module: base #: model:res.country,name:base.sh @@ -33,12 +33,12 @@ msgstr "سانت هيلينا" #. module: base #: view:ir.actions.report.xml:0 msgid "Other Configuration" -msgstr "" +msgstr "عدادت أخري" #. module: base #: selection:ir.property,type:0 msgid "DateTime" -msgstr "" +msgstr "الوقت و التاريخ" #. module: base #: code:addons/fields.py:534 @@ -52,18 +52,18 @@ msgstr "" #: view:ir.values:0 #: field:ir.values,meta_unpickle:0 msgid "Metadata" -msgstr "الفوقية" +msgstr "بيانات وصفية" #. module: base #: field:ir.ui.view,arch:0 #: field:ir.ui.view.custom,arch:0 msgid "View Architecture" -msgstr "" +msgstr "العرض الهندسي" #. module: base #: field:base.language.import,code:0 msgid "Code (eg:en__US)" -msgstr "" +msgstr "الرمز (مثال: ar_EG)" #. module: base #: view:workflow:0 @@ -73,32 +73,32 @@ msgstr "" #: field:workflow.transition,wkf_id:0 #: field:workflow.workitem,wkf_id:0 msgid "Workflow" -msgstr "" +msgstr "مسار العمل" #. module: base #: view:partner.sms.send:0 msgid "SMS - Gateway: clickatell" -msgstr "" +msgstr "بوابة خدمة الرسائل القصيرة: كليكاتل (clickatell)" #. module: base #: selection:base.language.install,lang:0 msgid "Hungarian / Magyar" -msgstr "المجرية / Magyar" +msgstr "المجرية" #. module: base #: selection:ir.model.fields,select_level:0 msgid "Not Searchable" -msgstr "" +msgstr "لا يمكن البحث" #. module: base #: selection:base.language.install,lang:0 msgid "Spanish (VE) / Español (VE)" -msgstr "" +msgstr "الأسبانية" #. module: base #: field:ir.actions.server,wkf_model_id:0 msgid "Workflow On" -msgstr "" +msgstr "سير العمل نشط" #. module: base #: field:ir.actions.act_window,display_menu_tip:0 diff --git a/openerp/addons/base/i18n/bg.po b/openerp/addons/base/i18n/bg.po index d0542a285fe..11815db83cf 100644 --- a/openerp/addons/base/i18n/bg.po +++ b/openerp/addons/base/i18n/bg.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:35+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:55+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/bs.po b/openerp/addons/base/i18n/bs.po index e215a7b82bd..8fd720e3bf9 100644 --- a/openerp/addons/base/i18n/bs.po +++ b/openerp/addons/base/i18n/bs.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:35+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:55+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/ca.po b/openerp/addons/base/i18n/ca.po index 99229b6c0c1..4aba4a07e20 100644 --- a/openerp/addons/base/i18n/ca.po +++ b/openerp/addons/base/i18n/ca.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:35+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:55+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/cs.po b/openerp/addons/base/i18n/cs.po index 01dae8672dc..17f6ff64933 100644 --- a/openerp/addons/base/i18n/cs.po +++ b/openerp/addons/base/i18n/cs.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:35+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:55+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/da.po b/openerp/addons/base/i18n/da.po index b3f0dbb3df7..e5f56280bff 100644 --- a/openerp/addons/base/i18n/da.po +++ b/openerp/addons/base/i18n/da.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:36+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:56+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/de.po b/openerp/addons/base/i18n/de.po index 02b09c21ea4..5146c4e2e63 100644 --- a/openerp/addons/base/i18n/de.po +++ b/openerp/addons/base/i18n/de.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:37+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:57+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/el.po b/openerp/addons/base/i18n/el.po index 540f4781dbe..b172877037d 100644 --- a/openerp/addons/base/i18n/el.po +++ b/openerp/addons/base/i18n/el.po @@ -12,7 +12,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:37+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:57+0000\n" "X-Generator: Launchpad (build 13168)\n" "X-Poedit-Country: GREECE\n" "X-Poedit-Language: Greek\n" diff --git a/openerp/addons/base/i18n/en_GB.po b/openerp/addons/base/i18n/en_GB.po index 767d20130e6..0ef8c396af9 100644 --- a/openerp/addons/base/i18n/en_GB.po +++ b/openerp/addons/base/i18n/en_GB.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-07-01 04:54+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:03+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/es.po b/openerp/addons/base/i18n/es.po index d98e431a8f1..33a55d3d48f 100644 --- a/openerp/addons/base/i18n/es.po +++ b/openerp/addons/base/i18n/es.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:42+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:02+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/es_CL.po b/openerp/addons/base/i18n/es_CL.po index e1e3a2255e2..677954e0eb0 100644 --- a/openerp/addons/base/i18n/es_CL.po +++ b/openerp/addons/base/i18n/es_CL.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:44+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:03+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/es_EC.po b/openerp/addons/base/i18n/es_EC.po index 45eec53b194..49f72241e18 100644 --- a/openerp/addons/base/i18n/es_EC.po +++ b/openerp/addons/base/i18n/es_EC.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:04+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/et.po b/openerp/addons/base/i18n/et.po index 041b13c2792..21c8a8d8fac 100644 --- a/openerp/addons/base/i18n/et.po +++ b/openerp/addons/base/i18n/et.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:36+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:56+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/eu.po b/openerp/addons/base/i18n/eu.po index 137a54a51c9..a8961b0230b 100644 --- a/openerp/addons/base/i18n/eu.po +++ b/openerp/addons/base/i18n/eu.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:34+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:55+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/fa.po b/openerp/addons/base/i18n/fa.po index a1729f76c33..acefa636f09 100644 --- a/openerp/addons/base/i18n/fa.po +++ b/openerp/addons/base/i18n/fa.po @@ -9,7 +9,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:40+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:59+0000\n" "X-Generator: Launchpad (build 13168)\n" "X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n" "X-Poedit-Language: Persian\n" diff --git a/openerp/addons/base/i18n/fa_AF.po b/openerp/addons/base/i18n/fa_AF.po index c6a2bf513da..d5e8e9a8c67 100644 --- a/openerp/addons/base/i18n/fa_AF.po +++ b/openerp/addons/base/i18n/fa_AF.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:04+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/fi.po b/openerp/addons/base/i18n/fi.po index 45948bb1940..3b06900818a 100644 --- a/openerp/addons/base/i18n/fi.po +++ b/openerp/addons/base/i18n/fi.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:36+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:56+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/fr.po b/openerp/addons/base/i18n/fr.po index 5e984b1fd46..bb9ae5bc952 100644 --- a/openerp/addons/base/i18n/fr.po +++ b/openerp/addons/base/i18n/fr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:37+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:57+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/gl.po b/openerp/addons/base/i18n/gl.po index b7fee49be45..c475ce4ec81 100644 --- a/openerp/addons/base/i18n/gl.po +++ b/openerp/addons/base/i18n/gl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:37+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:57+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/he.po b/openerp/addons/base/i18n/he.po index 1949320519e..5ad60ae9239 100644 --- a/openerp/addons/base/i18n/he.po +++ b/openerp/addons/base/i18n/he.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:37+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:57+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/hr.po b/openerp/addons/base/i18n/hr.po index f6226e92acb..be5fa480890 100644 --- a/openerp/addons/base/i18n/hr.po +++ b/openerp/addons/base/i18n/hr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:41+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:01+0000\n" "X-Generator: Launchpad (build 13168)\n" "Language: hr\n" diff --git a/openerp/addons/base/i18n/hu.po b/openerp/addons/base/i18n/hu.po index 9186811847d..06dcf001af6 100644 --- a/openerp/addons/base/i18n/hu.po +++ b/openerp/addons/base/i18n/hu.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:38+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:57+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/hy.po b/openerp/addons/base/i18n/hy.po index 3d19fad4508..450366011c7 100644 --- a/openerp/addons/base/i18n/hy.po +++ b/openerp/addons/base/i18n/hy.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:34+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:54+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/id.po b/openerp/addons/base/i18n/id.po index 5aec4b7fe34..565acf48f7f 100644 --- a/openerp/addons/base/i18n/id.po +++ b/openerp/addons/base/i18n/id.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:38+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:58+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/is.po b/openerp/addons/base/i18n/is.po index 97d15aeb416..bdf18dde66e 100644 --- a/openerp/addons/base/i18n/is.po +++ b/openerp/addons/base/i18n/is.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:38+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:58+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/it.po b/openerp/addons/base/i18n/it.po index f7956f84a5e..039bf5559f5 100644 --- a/openerp/addons/base/i18n/it.po +++ b/openerp/addons/base/i18n/it.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:38+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:58+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/ja.po b/openerp/addons/base/i18n/ja.po index f86695e1b25..f28eb20e671 100644 --- a/openerp/addons/base/i18n/ja.po +++ b/openerp/addons/base/i18n/ja.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:38+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:58+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/ko.po b/openerp/addons/base/i18n/ko.po index b6018a42228..81e9ccef173 100644 --- a/openerp/addons/base/i18n/ko.po +++ b/openerp/addons/base/i18n/ko.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:39+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:58+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/lt.po b/openerp/addons/base/i18n/lt.po index 802c8ae2d9d..358189dca42 100644 --- a/openerp/addons/base/i18n/lt.po +++ b/openerp/addons/base/i18n/lt.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:39+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:59+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/lv.po b/openerp/addons/base/i18n/lv.po index a7f97812004..6f8df39b27b 100644 --- a/openerp/addons/base/i18n/lv.po +++ b/openerp/addons/base/i18n/lv.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:39+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:58+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/mk.po b/openerp/addons/base/i18n/mk.po index 7470171a6fa..e6ef5793b1e 100644 --- a/openerp/addons/base/i18n/mk.po +++ b/openerp/addons/base/i18n/mk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:39+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:59+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/mn.po b/openerp/addons/base/i18n/mn.po index d7dbdc0c50e..9703f44e8b0 100644 --- a/openerp/addons/base/i18n/mn.po +++ b/openerp/addons/base/i18n/mn.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:39+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:59+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/nb.po b/openerp/addons/base/i18n/nb.po index 1222db742ea..8fc7dd23bf4 100644 --- a/openerp/addons/base/i18n/nb.po +++ b/openerp/addons/base/i18n/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:39+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:59+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/nl.po b/openerp/addons/base/i18n/nl.po index 181763c2c92..0ea92b3a9cb 100644 --- a/openerp/addons/base/i18n/nl.po +++ b/openerp/addons/base/i18n/nl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:36+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:56+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/nl_BE.po b/openerp/addons/base/i18n/nl_BE.po index 2d36e27c2c1..75d5d14595f 100644 --- a/openerp/addons/base/i18n/nl_BE.po +++ b/openerp/addons/base/i18n/nl_BE.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:44+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:04+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/pl.po b/openerp/addons/base/i18n/pl.po index 491091f73ab..c79a5101143 100644 --- a/openerp/addons/base/i18n/pl.po +++ b/openerp/addons/base/i18n/pl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:40+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:00+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/pt.po b/openerp/addons/base/i18n/pt.po index bc6f208b7a6..a91e17f2cda 100644 --- a/openerp/addons/base/i18n/pt.po +++ b/openerp/addons/base/i18n/pt.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:40+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:00+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/pt_BR.po b/openerp/addons/base/i18n/pt_BR.po index f20ecad6b2c..0aad95a26f8 100644 --- a/openerp/addons/base/i18n/pt_BR.po +++ b/openerp/addons/base/i18n/pt_BR.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:43+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:03+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/ro.po b/openerp/addons/base/i18n/ro.po index 1a36c2dc401..69fd9cb131b 100644 --- a/openerp/addons/base/i18n/ro.po +++ b/openerp/addons/base/i18n/ro.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:40+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:00+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/ru.po b/openerp/addons/base/i18n/ru.po index b3f1f53f385..ba72b09a89e 100644 --- a/openerp/addons/base/i18n/ru.po +++ b/openerp/addons/base/i18n/ru.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:41+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:00+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base @@ -3897,7 +3897,7 @@ msgstr "Название группы не может начинаться с \" #: view:ir.ui.view_sc:0 #: field:res.partner.title,shortcut:0 msgid "Shortcut" -msgstr "Закладка" +msgstr "Сокращение" #. module: base #: field:ir.model.data,date_init:0 @@ -4902,7 +4902,7 @@ msgstr "Внутренний заголовок RML" #. module: base #: field:ir.actions.act_window,search_view_id:0 msgid "Search View Ref." -msgstr "Поиск ссылки на обзор" +msgstr "Ссылка на поиск вида" #. module: base #: field:ir.module.module,installed_version:0 @@ -5811,7 +5811,7 @@ msgstr "Основные параметры" #. module: base #: model:ir.ui.menu,name:base.menu_administration_shortcut msgid "Custom Shortcuts" -msgstr "Пользовательские комбинации клавиш" +msgstr "Пользовательские закладки" #. module: base #: selection:base.language.install,lang:0 diff --git a/openerp/addons/base/i18n/sk.po b/openerp/addons/base/i18n/sk.po index a834c76e010..80af22b0ddb 100644 --- a/openerp/addons/base/i18n/sk.po +++ b/openerp/addons/base/i18n/sk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:41+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:01+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/sl.po b/openerp/addons/base/i18n/sl.po index 2107f5d679b..dd4e41803bb 100644 --- a/openerp/addons/base/i18n/sl.po +++ b/openerp/addons/base/i18n/sl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:42+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:01+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/sq.po b/openerp/addons/base/i18n/sq.po index 651ed315278..0116da8da9e 100644 --- a/openerp/addons/base/i18n/sq.po +++ b/openerp/addons/base/i18n/sq.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:34+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 04:54+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/sr.po b/openerp/addons/base/i18n/sr.po index 960ea4a3c16..d561e75e6ea 100644 --- a/openerp/addons/base/i18n/sr.po +++ b/openerp/addons/base/i18n/sr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:41+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:01+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/sr@latin.po b/openerp/addons/base/i18n/sr@latin.po index 0eb57da2331..3a790bd7359 100644 --- a/openerp/addons/base/i18n/sr@latin.po +++ b/openerp/addons/base/i18n/sr@latin.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:45+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:05+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/sv.po b/openerp/addons/base/i18n/sv.po index e1916dcb213..2eec4d20a4e 100644 --- a/openerp/addons/base/i18n/sv.po +++ b/openerp/addons/base/i18n/sv.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:42+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:02+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/th.po b/openerp/addons/base/i18n/th.po index 3b26332bae3..d46ab414ba9 100644 --- a/openerp/addons/base/i18n/th.po +++ b/openerp/addons/base/i18n/th.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:42+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:02+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/tlh.po b/openerp/addons/base/i18n/tlh.po index 991d3198b6d..cd3af824b8e 100644 --- a/openerp/addons/base/i18n/tlh.po +++ b/openerp/addons/base/i18n/tlh.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:42+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:02+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/tr.po b/openerp/addons/base/i18n/tr.po index 1d0d5a2f5cb..ca95ba8578c 100644 --- a/openerp/addons/base/i18n/tr.po +++ b/openerp/addons/base/i18n/tr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:43+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:02+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base @@ -80,7 +80,7 @@ msgstr "İş Akışı" #. module: base #: view:partner.sms.send:0 msgid "SMS - Gateway: clickatell" -msgstr "SMS - Gateway: Clickatell Hizmeti" +msgstr "SMS - Geçidi: Clickatell Hizmeti" #. module: base #: selection:base.language.install,lang:0 diff --git a/openerp/addons/base/i18n/uk.po b/openerp/addons/base/i18n/uk.po index 27cf922aadb..06b961294ff 100644 --- a/openerp/addons/base/i18n/uk.po +++ b/openerp/addons/base/i18n/uk.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:43+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:02+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/ur.po b/openerp/addons/base/i18n/ur.po index 6268436c9eb..540c435f95c 100644 --- a/openerp/addons/base/i18n/ur.po +++ b/openerp/addons/base/i18n/ur.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:43+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:03+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/vi.po b/openerp/addons/base/i18n/vi.po index bd6ec58cd50..b204ad1f46a 100644 --- a/openerp/addons/base/i18n/vi.po +++ b/openerp/addons/base/i18n/vi.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:43+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:03+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/zh_CN.po b/openerp/addons/base/i18n/zh_CN.po index 360fc641b5b..f434645ec60 100644 --- a/openerp/addons/base/i18n/zh_CN.po +++ b/openerp/addons/base/i18n/zh_CN.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:44+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:04+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base diff --git a/openerp/addons/base/i18n/zh_TW.po b/openerp/addons/base/i18n/zh_TW.po index 88981464ee4..eb060090425 100644 --- a/openerp/addons/base/i18n/zh_TW.po +++ b/openerp/addons/base/i18n/zh_TW.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-27 04:44+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:04+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: base From c8e8b7cc26098bca2d0215222394c285c98b2d8c Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 10:38:58 +0200 Subject: [PATCH 21/34] [fix] small bug with o2m & editable lists bzr revid: nicolas.vanhoren@openerp.com-20110704083858-n9d4bopimfmhdg32 --- addons/base/static/src/js/data.js | 1 - addons/base/static/src/js/form.js | 34 +++++++++++++++++-------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js index a8cdfb7f201..ff74fa1639f 100644 --- a/addons/base/static/src/js/data.js +++ b/addons/base/static/src/js/data.js @@ -483,7 +483,6 @@ openerp.base.BufferedDataSet = openerp.base.DataSetStatic.extend({ var cached = {id:_.uniqueId(this.virtual_id_prefix), values: data}; this.to_create.push(cached); this.cache.push(cached); - this.on_change(); var to_return = $.Deferred().then(callback); setTimeout(function() {to_return.resolve({result: cached.id});}, 0); return to_return.promise(); diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index bfa62f102cc..f67543503d2 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1585,22 +1585,26 @@ openerp.base.form.One2ManyDataSet = openerp.base.BufferedDataSet.extend({ openerp.base.form.One2ManyListView = openerp.base.ListView.extend({ do_add_record: function () { - var self = this; - var pop = new openerp.base.form.SelectCreatePopup(null, self.o2m.view.session); - pop.select_element(self.o2m.field.relation,{ - initial_view: "form", - alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined, - auto_create: false, - parent_view: self.o2m.view - }, self.o2m.build_domain(), self.o2m.build_context()); - pop.on_create.add(function(data) { - self.o2m.dataset.create(data, function(r) { - self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r.result])); - self.o2m.dataset.on_change(); - pop.stop(); - self.o2m.reload_current_view(); + if (this.options.editable) { + this._super.apply(this, arguments); + } else { + var self = this; + var pop = new openerp.base.form.SelectCreatePopup(null, self.o2m.view.session); + pop.select_element(self.o2m.field.relation,{ + initial_view: "form", + alternative_form_view: self.o2m.field.views ? self.o2m.field.views["form"] : undefined, + auto_create: false, + parent_view: self.o2m.view + }, self.o2m.build_domain(), self.o2m.build_context()); + pop.on_create.add(function(data) { + self.o2m.dataset.create(data, function(r) { + self.o2m.dataset.set_ids(self.o2m.dataset.ids.concat([r.result])); + self.o2m.dataset.on_change(); + pop.stop(); + self.o2m.reload_current_view(); + }); }); - }); + } } }); From f21e145cf826221e9f1c1ca7331ae43476580b0f Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 11:12:47 +0200 Subject: [PATCH 22/34] [fix] problem with on_change and contexts bzr revid: nicolas.vanhoren@openerp.com-20110704091247-1er8ulga0xl4boo4 --- addons/base/static/src/js/form.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index f67543503d2..b92b4c53fef 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -169,17 +169,21 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV console.log("Onchange triggered for field '%s' -> %s", widget.name, onchange); if (call) { var method = call[1], args = []; + var context_index = null; var argument_replacement = { - 'False' : false, - 'True' : true, - 'None' : null, - 'context': widget.build_context ? widget.build_context() : {} + 'False' : function() {return false;}, + 'True' : function() {return true;}, + 'None' : function() {return null;}, + 'context': function(i) { + context_index = i; + return widget.build_context ? widget.build_context() : {}; + } } var parent_fields = null; - _.each(call[2].split(','), function(a) { + _.each(call[2].split(','), function(a, i) { var field = _.trim(a); if (field in argument_replacement) { - args.push(argument_replacement[field]); + args.push(argument_replacement[field](i)); return; } else if (self.fields[field]) { var value = self.fields[field].get_on_change_value(); @@ -208,7 +212,8 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV return this.rpc(ajax, { model: this.dataset.model, method: method, - args: [(this.datarecord.id == null ? [] : [this.datarecord.id])].concat(args) + args: [(this.datarecord.id == null ? [] : [this.datarecord.id])].concat(args), + context_id: context_index + 1 }, function(response) { self.on_processed_onchange(response, processed); }); From 5363cc4f0bd12e780d115ed09bff65c37e6a7652 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 11:48:55 +0200 Subject: [PATCH 23/34] [fix] problem with on_change and parent bzr revid: nicolas.vanhoren@openerp.com-20110704094855-q2aytq7xna3nxftq --- addons/base/static/src/js/form.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index b92b4c53fef..7a2c704de72 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -176,7 +176,8 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV 'None' : function() {return null;}, 'context': function(i) { context_index = i; - return widget.build_context ? widget.build_context() : {}; + var ctx = widget.build_context ? widget.build_context() : {}; + return ctx; } } var parent_fields = null; @@ -197,7 +198,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV } var p_val = parent_fields[_.trim(splitted[1])]; if (p_val !== undefined) { - args.push(value ? value : false); + args.push(p_val == null ? false : p_val); return; } } @@ -442,7 +443,8 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV get_fields_values: function() { var values = {}; _.each(this.fields, function(value, key) { - values[key] = value.get_value(); + var val = value.get_value(); + values[key] = val; }); return values; } From 59f75a3eaecccc26815b7ef44ed13940427b0e7e Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 13:11:34 +0200 Subject: [PATCH 24/34] [fix] warning message in form not handling correctly all cases bzr revid: nicolas.vanhoren@openerp.com-20110704111134-juo51t5rxo5vdt0w --- addons/base/static/src/js/chrome.js | 2 -- addons/base/static/src/xml/base.xml | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 6064e0f4c46..c5d0a93fe86 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -357,8 +357,6 @@ openerp.base.Session = openerp.base.BasicController.extend( /** @lends openerp.b var self = this; // Construct a JSON-RPC2 request, method is currently unused params.session_id = this.session_id; - // niv: wtf? - //params.context = typeof(params.context) != "undefined" ? params.context : this.context; // Call using the rpc_mode var deferred = $.Deferred(); diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 9bef00147d3..fb350046f37 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -886,7 +886,9 @@

- d.html_error = context.engine.tools.html_escape(d.error.data.fault_code).replace(/\n/g, '
'); + var message = d.message ? d.message : d.error.data.fault_code; + d.html_error = context.engine.tools.html_escape(message) + .replace(/\n/g, '
');

From ee1ec9dae7f9971cf6fe8c7478eec8050abaada7 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 13:37:40 +0200 Subject: [PATCH 25/34] [fix] problem with context handling in on_change when there is no context bzr revid: nicolas.vanhoren@openerp.com-20110704113740-fv3s5wrzlnkagpuv --- addons/base/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 7a2c704de72..174712a3833 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -214,7 +214,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV model: this.dataset.model, method: method, args: [(this.datarecord.id == null ? [] : [this.datarecord.id])].concat(args), - context_id: context_index + 1 + context_id: context_index === null ? null : context_index + 1 }, function(response) { self.on_processed_onchange(response, processed); }); From efdfe7731d82a3546f0e15a7c85eb8c8b4041713 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 13:41:31 +0200 Subject: [PATCH 26/34] [fix] fixed some problem with on_change and warnings bzr revid: nicolas.vanhoren@openerp.com-20110704114131-kusycqhnkvyd8ye8 --- addons/base/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 174712a3833..17241e51139 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -247,7 +247,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV } this.on_form_changed(); } - if (result.warning) { + if (result.warning && !_.isEmpty(result.warning)) { $(QWeb.render("DialogWarning", result.warning)).dialog({ modal: true, buttons: { From 433c989399076e768a82a082ff966757b7125ac7 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 16:30:35 +0200 Subject: [PATCH 27/34] [imp] minor: changed level of some logging bzr revid: nicolas.vanhoren@openerp.com-20110704143035-iwmbqfy0gifdnllm --- addons/base/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 17241e51139..2fe266b1d09 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -242,7 +242,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV } } else { // this is a common case, the normal behavior should be to ignore it - this.log("on_processed_onchange can't find field " + f, result); + console.debug("on_processed_onchange can't find field " + f, result); } } this.on_form_changed(); From c0ef24786516ba19f5e7c2490fbdbdfb191e7a03 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 17:00:17 +0200 Subject: [PATCH 28/34] [imp] made o2m & m2m non multi selectable bzr revid: nicolas.vanhoren@openerp.com-20110704150017-no4glzx2h7omkacr --- addons/base/static/src/js/form.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 2fe266b1d09..7b8c37cf1f5 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1444,6 +1444,7 @@ var commands = { } }; openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({ + multi_selection: false, init: function(view, node) { this._super(view, node); this.template = "FieldOne2Many"; @@ -1471,6 +1472,7 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({ } if(view.view_type === "list") { view.options = { + 'selectable': self.multi_selection }; } views.push(view); @@ -1616,6 +1618,7 @@ openerp.base.form.One2ManyListView = openerp.base.ListView.extend({ }); openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({ + multi_selection: false, init: function(view, node) { this._super(view, node); this.template = "FieldMany2Many"; @@ -1636,7 +1639,8 @@ openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({ this.list_view = new openerp.base.form.Many2ManyListView( null, this.view.session, this.list_id, this.dataset, false, { - 'addable': 'Add' + 'addable': 'Add', + 'selectable': self.multi_selection }); this.list_view.m2m_field = this; this.list_view.on_loaded.add_last(function() { From 17ee1786b1110775b5bea67ea9c938761fd900ab Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 17:05:54 +0200 Subject: [PATCH 29/34] [imp] small cosmetic improvements in m2o bzr revid: nicolas.vanhoren@openerp.com-20110704150554-6rbrd63h0qunz84n --- addons/base/static/src/js/form.js | 2 +- addons/base/static/src/xml/base.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 7b8c37cf1f5..19bca9c5031 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1305,7 +1305,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ // create... values.push({label: "   Create and Edit...", action: function() { self._change_int_value(null); - self._search_create_popup("form"); + self._search_create_popup("form", undefined, {"default_name": search_val}); }}); response(values); diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index fb350046f37..c150d083ef7 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -541,9 +541,9 @@ From 20ceff14447f27e251b9aa92376925fde0d34712 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 17:20:27 +0200 Subject: [PATCH 30/34] [fix] changed domain handling in select create popup and added non-selection of already selected rows in m2m bzr revid: nicolas.vanhoren@openerp.com-20110704152027-z1tgamwz0uo8v5ml --- addons/base/static/src/js/form.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 19bca9c5031..98248ae37b9 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1681,7 +1681,9 @@ openerp.base.form.Many2ManyListView = openerp.base.ListView.extend({ do_add_record: function () { var pop = new openerp.base.form.SelectCreatePopup( null, this.m2m_field.view.session); - pop.select_element(this.model, {}, this.m2m_field.build_domain(), this.m2m_field.build_context()); + pop.select_element(this.model, {}, + new openerp.base.CompoundDomain(this.m2m_field.build_domain(), ["!", ["id", "in", this.m2m_field.dataset.ids]]), + this.m2m_field.build_context()); var self = this; pop.on_select_elements.add(function(element_ids) { _.each(element_ids, function(element_id) { @@ -1734,7 +1736,7 @@ openerp.base.form.SelectCreatePopup = openerp.base.BaseWidget.extend({ start: function() { this._super(); this.dataset = new openerp.base.ReadOnlyDataSetSearch(this.session, this.model, - this.context, this.domain); + this.context); this.dataset.parent_view = this.options.parent_view; if (this.options.initial_view == "search") { this.setup_search_view(); @@ -1754,11 +1756,11 @@ openerp.base.form.SelectCreatePopup = openerp.base.BaseWidget.extend({ }); this.searchview.on_search.add(function(domains, contexts, groupbys) { if (self.initial_ids) { - self.view_list.do_search.call(self, domains.concat([[["id", "in", self.initial_ids]]]), + self.view_list.do_search.call(self, domains.concat([[["id", "in", self.initial_ids]], self.domain]), contexts, groupbys); self.initial_ids = undefined; } else { - self.view_list.do_search.call(self, domains, contexts, groupbys); + self.view_list.do_search.call(self, domains.concat([self.domain]), contexts, groupbys); } }); this.searchview.on_loaded.add_last(function () { From 445a879e58e8663f731f687a40afdf54707621dd Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 4 Jul 2011 17:23:47 +0200 Subject: [PATCH 31/34] [imp] cosmetic change in filters bzr revid: nicolas.vanhoren@openerp.com-20110704152347-mu8wuii976oablzr --- addons/base/static/src/xml/base.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index c150d083ef7..e6428ce284e 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -803,8 +803,8 @@
Date: Mon, 4 Jul 2011 17:32:59 +0200 Subject: [PATCH 32/34] [imp] removed checkbox to save password in login page bzr revid: nicolas.vanhoren@openerp.com-20110704153259-cbz2qz0a95x53and --- addons/base/static/src/js/chrome.js | 14 +++----------- addons/base/static/src/xml/base.xml | 14 +------------- 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index c5d0a93fe86..5d0dc0946c1 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -912,18 +912,15 @@ openerp.base.Database = openerp.base.Controller.extend({ }); openerp.base.Login = openerp.base.Controller.extend({ + remember_creditentials: true, init: function(session, element_id) { this._super(session, element_id); this.has_local_storage = typeof(localStorage) != 'undefined'; this.selected_db = null; this.selected_login = null; - this.selected_password = null; - this.remember = false; - if (this.has_local_storage && localStorage.getItem('remember_creditentials') === 'true') { - this.remember = true; + if (this.has_local_storage && this.remember_creditentials) { this.selected_db = localStorage.getItem('last_db_login_success'); this.selected_login = localStorage.getItem('last_login_login_success'); - this.selected_password = localStorage.getItem('last_password_login_success'); } }, start: function() { @@ -952,22 +949,17 @@ openerp.base.Login = openerp.base.Controller.extend({ var db = $e.find("form [name=db]").val(); var login = $e.find("form input[name=login]").val(); var password = $e.find("form input[name=password]").val(); - var remember = $e.find("form input[name=remember]").attr('checked'); //$e.hide(); // Should hide then call callback this.session.session_login(db, login, password, function() { if(self.session.session_is_valid()) { if (self.has_local_storage) { - if(remember) { - localStorage.setItem('remember_creditentials', 'true'); + if(self.remember_creditentials) { localStorage.setItem('last_db_login_success', db); localStorage.setItem('last_login_login_success', login); - localStorage.setItem('last_password_login_success', password); } else { - localStorage.setItem('remember_creditentials', ''); localStorage.setItem('last_db_login_success', ''); localStorage.setItem('last_login_login_success', ''); - localStorage.setItem('last_password_login_success', ''); } } self.on_login_valid(); diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index e6428ce284e..914233552b2 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -86,19 +86,7 @@ - - - - - - - - - - - - + From fa9c2829d05746bc98b2af309295b1a212754463 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 4 Jul 2011 14:10:57 +0200 Subject: [PATCH 33/34] [FIX] value-content tests on set_value for some widgets note: NaN != NaN, need to use isNaN bzr revid: xmo@openerp.com-20110704121057-k9vrgim1pfc1g8u1 --- addons/base/static/src/js/form.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 98248ae37b9..874ff247a6f 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -935,7 +935,7 @@ openerp.base.form.FieldDatetime = openerp.base.form.Field.extend({ }, set_value: function(value) { this._super.apply(this, arguments); - if (value == null || value == false) { + if (!value) { this.$element.find('input').val(''); } else { this.$element.find('input').unbind('change'); @@ -1086,7 +1086,7 @@ openerp.base.form.FieldProgressBar = openerp.base.form.Field.extend({ set_value: function(value) { this._super.apply(this, arguments); var show_value = Number(value); - if (show_value === NaN) { + if (isNaN(show_value)) { show_value = 0; } this.$element.find('div').progressbar('option', 'value', show_value).find('span').html(show_value + '%'); From 5a823350e0268dec917db4fa8fcdf71065d5a577 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Tue, 5 Jul 2011 04:33:21 +0000 Subject: [PATCH 34/34] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20110702050634-xl59j3cyqucb2xbr bzr revid: launchpad_translations_on_behalf_of_openerp-20110703044707-mjrlbh7l81jm56z7 bzr revid: launchpad_translations_on_behalf_of_openerp-20110705043321-ij8r6auabm4cptt6 --- addons/account/i18n/de.po | 420 ++++----- addons/account/i18n/pt_BR.po | 422 +++++---- addons/account/i18n/zh_CN.po | 806 ++++++++--------- addons/account_analytic_default/i18n/zh_CN.po | 12 +- addons/anonymization/i18n/pt_BR.po | 25 +- addons/caldav/i18n/zh_CN.po | 818 ++++++++++++++++++ addons/claim_from_delivery/i18n/zh_CN.po | 33 + addons/crm/i18n/zh_CN.po | 50 +- addons/marketing_campaign/i18n/zh_CN.po | 2 +- addons/mrp/i18n/zh_CN.po | 78 +- addons/project_issue_sheet/i18n/zh_CN.po | 80 ++ addons/project_messages/i18n/zh_CN.po | 8 +- addons/report_webkit_sample/i18n/de.po | 51 +- 13 files changed, 1913 insertions(+), 892 deletions(-) create mode 100644 addons/caldav/i18n/zh_CN.po create mode 100644 addons/claim_from_delivery/i18n/zh_CN.po create mode 100644 addons/project_issue_sheet/i18n/zh_CN.po diff --git a/addons/account/i18n/de.po b/addons/account/i18n/de.po index 14a60c5bc7f..3d6a63f1bd9 100644 --- a/addons/account/i18n/de.po +++ b/addons/account/i18n/de.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: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2011-04-21 05:36+0000\n" +"PO-Revision-Date: 2011-07-02 08:42+0000\n" "Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-04-29 05:06+0000\n" -"X-Generator: Launchpad (build 12758)\n" +"X-Launchpad-Export-Date: 2011-07-03 04:46+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -34,7 +34,7 @@ msgstr "" "Es ist kein Journal für den Jahresabschluss des Geschäftsjahres definiert" #. module: account -#: code:addons/account/account.py:506 +#: code:addons/account/account.py:516 #, python-format msgid "" "You cannot remove/deactivate an account which is set as a property to any " @@ -68,7 +68,7 @@ msgid "Residual" msgstr "Restwert" #. module: account -#: code:addons/account/invoice.py:785 +#: code:addons/account/invoice.py:793 #, python-format msgid "Please define sequence on invoice journal" msgstr "Bitte definieren Sie den Sequenzer für das Rechnungsjournal." @@ -138,7 +138,7 @@ msgid "Accounting Entries-" msgstr "Buchungssätze-" #. module: account -#: code:addons/account/account.py:1291 +#: code:addons/account/account.py:1305 #, python-format msgid "You can not delete posted movement: \"%s\"!" msgstr "Sie können keine gebuchten Vorgänge löschen: \"%s\"!" @@ -184,7 +184,7 @@ msgstr "" "angezeigt." #. module: account -#: code:addons/account/invoice.py:1421 +#: code:addons/account/invoice.py:1436 #, python-format msgid "Warning!" msgstr "Achtung!" @@ -240,7 +240,7 @@ msgid "account.tax" msgstr "account.tax" #. module: account -#: code:addons/account/account.py:901 +#: code:addons/account/account.py:915 #, python-format msgid "" "No period defined for this date: %s !\n" @@ -272,7 +272,7 @@ msgstr "" "Rechnung erscheinen sollen" #. module: account -#: code:addons/account/invoice.py:1210 +#: code:addons/account/invoice.py:1224 #, python-format msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)" msgstr "" @@ -290,7 +290,7 @@ msgid "Belgian Reports" msgstr "Auswertungen für Belgien" #. module: account -#: code:addons/account/account_move_line.py:1176 +#: code:addons/account/account_move_line.py:1182 #, python-format msgid "You can not add/modify entries in a closed journal." msgstr "" @@ -330,7 +330,7 @@ msgid "St." msgstr "Beleg" #. module: account -#: code:addons/account/invoice.py:529 +#: code:addons/account/invoice.py:532 #, python-format msgid "Invoice line account company does not match with invoice company." msgstr "" @@ -594,7 +594,7 @@ msgid "Not reconciled transactions" msgstr "Nicht ausgeglichene Posten" #. module: account -#: code:addons/account/account_cash_statement.py:348 +#: code:addons/account/account_cash_statement.py:349 #, python-format msgid "CashBox Balance is not matching with Calculated Balance !" msgstr "Kassenbestand passt nicht zu Kontensaldo" @@ -679,7 +679,7 @@ msgid "Tax Code Amount" msgstr "Steuerbetrag" #. module: account -#: code:addons/account/account.py:2779 +#: code:addons/account/account.py:2823 #: code:addons/account/installer.py:434 #, python-format msgid "SAJ" @@ -712,8 +712,8 @@ msgid "Journal Period" msgstr "Journal Periode" #. module: account -#: code:addons/account/account_move_line.py:732 -#: code:addons/account/account_move_line.py:776 +#: code:addons/account/account_move_line.py:723 +#: code:addons/account/account_move_line.py:767 #, python-format msgid "To reconcile the entries company should be the same for all entries" msgstr "" @@ -776,7 +776,7 @@ msgid "Analytic Entries by line" msgstr "Analytische Buchungsbelege" #. module: account -#: code:addons/account/wizard/account_change_currency.py:39 +#: code:addons/account/wizard/account_change_currency.py:38 #, python-format msgid "You can only change currency for Draft Invoice !" msgstr "Sie können die Währung nur bei Rechnungen" @@ -880,7 +880,7 @@ msgid "Next Partner to reconcile" msgstr "Weiterer Partner für automat. Ausgleich" #. module: account -#: code:addons/account/account_move_line.py:1191 +#: code:addons/account/account_move_line.py:1197 #, python-format msgid "" "You can not do this modification on a confirmed entry ! Please note that you " @@ -1009,11 +1009,11 @@ msgid "Code" msgstr "Kurzbezeichnung" #. module: account -#: code:addons/account/account.py:2083 +#: code:addons/account/account.py:2097 #: code:addons/account/account_bank_statement.py:350 -#: code:addons/account/account_move_line.py:170 +#: code:addons/account/account_move_line.py:169 #: code:addons/account/invoice.py:73 -#: code:addons/account/invoice.py:670 +#: code:addons/account/invoice.py:678 #: code:addons/account/wizard/account_use_model.py:81 #, python-format msgid "No Analytic Journal !" @@ -1095,7 +1095,6 @@ msgstr "GuV (Aufwendungen)" #. module: account #: report:account.analytic.account.journal:0 -#: report:account.move.voucher:0 #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 msgid "-" @@ -1186,6 +1185,7 @@ msgstr "# Transaktionen" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 @@ -1193,7 +1193,7 @@ msgid "Entry Label" msgstr "Buchungstext" #. module: account -#: code:addons/account/account.py:976 +#: code:addons/account/account.py:990 #, python-format msgid "You can not modify/delete a journal with entries for this period !" msgstr "" @@ -1333,7 +1333,6 @@ msgid "Journal Items Analysis" msgstr "Analyse der Journaleinträge" #. module: account -#: model:ir.actions.act_window,name:account.action_partner_all #: model:ir.ui.menu,name:account.next_id_22 msgid "Partners" msgstr "Partner" @@ -1363,7 +1362,7 @@ msgid "Central Journal" msgstr "Zentrales Journal" #. module: account -#: code:addons/account/account_move_line.py:1271 +#: code:addons/account/account_move_line.py:1277 #, python-format msgid "You can not use this general account in this journal !" msgstr "Sie können dieses Sachkonto nicht in diesem Journal einsetzen." @@ -1460,7 +1459,7 @@ msgid "" msgstr "Beispiel: 14 Tage 2% Skonto, 30 Tage Netto" #. module: account -#: code:addons/account/invoice.py:815 +#: code:addons/account/invoice.py:823 #, python-format msgid "" "Cannot create the invoice !\n" @@ -1631,7 +1630,6 @@ msgid "Separated Journal Sequences" msgstr "Unterschiedliche Journal Sequenzer" #. module: account -#: field:account.bank.statement,user_id:0 #: view:account.invoice:0 msgid "Responsible" msgstr "Mitarbeiter" @@ -1705,7 +1703,7 @@ msgid "Error! You cannot define overlapping fiscal years" msgstr "Fehler ! Sie können keine Überschneidungen bei Geschäftsjahren haben" #. module: account -#: code:addons/account/account_move_line.py:808 +#: code:addons/account/account_move_line.py:799 #, python-format msgid "The account is not defined to be reconciled !" msgstr "" @@ -1742,7 +1740,7 @@ msgid "Receivables & Payables" msgstr "Debitoren & Kreditoren" #. module: account -#: code:addons/account/account_move_line.py:815 +#: code:addons/account/account_move_line.py:806 #, python-format msgid "You have to provide an account for the write off entry !" msgstr "Sie müssen ein Konto für die Forderungsabschreibung hinterlegen!" @@ -1778,7 +1776,7 @@ msgid "Customer Ref:" msgstr "Kundenreferenz:" #. module: account -#: code:addons/account/account_cash_statement.py:328 +#: code:addons/account/account_cash_statement.py:329 #, python-format msgid "User %s does not have rights to access %s journal !" msgstr "Benutzer %s hat keinen Zugriff auf das %s Journal!" @@ -1799,7 +1797,7 @@ msgid "Tax Declaration: Credit Notes" msgstr "Steuermeldung: Ausweis von Gutschriften" #. module: account -#: code:addons/account/account.py:499 +#: code:addons/account/account.py:509 #, python-format msgid "You cannot deactivate an account that contains account moves." msgstr "Sie können kein Konto mit vorhandenen Buchungen deaktivieren." @@ -1816,7 +1814,7 @@ msgstr "" "Sie können keine Buchung auf einem bereits abgeschlossenen Konto vornehmen." #. module: account -#: code:addons/account/account.py:519 +#: code:addons/account/account.py:529 #, python-format msgid "" "You cannot change the type of account from 'Closed' to any other type which " @@ -2101,7 +2099,7 @@ msgid " Journal" msgstr " Journal" #. module: account -#: code:addons/account/account.py:1319 +#: code:addons/account/account.py:1333 #, python-format msgid "" "There is no default default debit account defined \n" @@ -2164,7 +2162,7 @@ msgid "Description" msgstr "Buchungstext" #. module: account -#: code:addons/account/account.py:2844 +#: code:addons/account/account.py:2888 #: code:addons/account/installer.py:498 #, python-format msgid "ECNJ" @@ -2184,7 +2182,7 @@ msgid "Income Account" msgstr "Erlöskonto" #. module: account -#: code:addons/account/invoice.py:352 +#: code:addons/account/invoice.py:351 #, python-format msgid "There is no Accounting Journal of type Sale/Purchase defined!" msgstr "" @@ -2197,6 +2195,7 @@ msgid "Accounting Properties" msgstr "Finanzbuchhaltung Eigenschaften" #. module: account +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.print.journal,sort_selection:0 msgid "Entries Sorted By" @@ -2225,6 +2224,7 @@ msgstr "Vorlage f. Produkte" #: field:account.fiscalyear,name:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.journal.period,fiscalyear_id:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -2333,7 +2333,7 @@ msgid "Account Tax Code" msgstr "Umsatzsteuer" #. module: account -#: code:addons/account/invoice.py:545 +#: code:addons/account/invoice.py:552 #, python-format msgid "" "Can't find any account journal of %s type for this company.\n" @@ -2415,7 +2415,7 @@ msgid "Account Model Entries" msgstr "Buchungsvorlage" #. module: account -#: code:addons/account/account.py:2796 +#: code:addons/account/account.py:2840 #: code:addons/account/installer.py:454 #, python-format msgid "EXJ" @@ -2507,7 +2507,7 @@ msgid "Accounts" msgstr "Finanzkonten" #. module: account -#: code:addons/account/invoice.py:351 +#: code:addons/account/invoice.py:350 #, python-format msgid "Configuration Error!" msgstr "Konfigurationsfehler !" @@ -2519,13 +2519,12 @@ msgid "Average Price" msgstr "Durchschnittspreis" #. module: account -#: report:account.move.voucher:0 #: report:account.overdue:0 msgid "Date:" msgstr "Datum:" #. module: account -#: code:addons/account/account.py:640 +#: code:addons/account/account.py:654 #, python-format msgid "" "You cannot modify company of this journal as its related record exist in " @@ -2563,6 +2562,7 @@ msgstr "Rabatt (%)" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.overdue:0 #: report:account.third_party_ledger:0 @@ -2679,16 +2679,16 @@ msgid "This wizard will create recurring accounting entries" msgstr "Diese Assistent erzeugt wiederkehrende Buchungen." #. module: account -#: code:addons/account/account.py:1181 +#: code:addons/account/account.py:1195 #, python-format msgid "No sequence defined on the journal !" msgstr "Kein Sequenzer für dieses Journal definiert !" #. module: account -#: code:addons/account/account.py:2083 +#: code:addons/account/account.py:2097 #: code:addons/account/account_bank_statement.py:350 -#: code:addons/account/account_move_line.py:170 -#: code:addons/account/invoice.py:670 +#: code:addons/account/account_move_line.py:169 +#: code:addons/account/invoice.py:678 #: code:addons/account/wizard/account_use_model.py:81 #, python-format msgid "You have to define an analytic journal on the '%s' journal!" @@ -2862,7 +2862,7 @@ msgid "Analytic Entries" msgstr "Analytische Buchungen" #. module: account -#: code:addons/account/account.py:822 +#: code:addons/account/account.py:836 #, python-format msgid "" "No fiscal year defined for this date !\n" @@ -2994,7 +2994,7 @@ msgid "BNK%s" msgstr "BNK%s" #. module: account -#: code:addons/account/account.py:2906 +#: code:addons/account/account.py:2950 #: code:addons/account/installer.py:296 #, python-format msgid "BNK" @@ -3119,6 +3119,7 @@ msgstr "Leer lassen um Aufwandskonto zu verwenden" #: field:account.common.report,journal_ids:0 #: report:account.general.journal:0 #: field:account.general.journal,journal_ids:0 +#: report:account.general.ledger_landscape:0 #: view:account.journal.period:0 #: report:account.partner.balance:0 #: field:account.partner.balance,journal_ids:0 @@ -3179,7 +3180,7 @@ msgid "Starting Balance" msgstr "Anfangssaldo" #. module: account -#: code:addons/account/invoice.py:1284 +#: code:addons/account/invoice.py:1298 #, python-format msgid "No Partner Defined !" msgstr "Kein Partner definiert!" @@ -3223,7 +3224,6 @@ msgstr "Journal:" #: view:account.invoice.report:0 #: selection:account.invoice.report,state:0 #: selection:account.journal.period,state:0 -#: report:account.move.voucher:0 #: view:account.subscription:0 #: selection:account.subscription,state:0 #: selection:report.invoice.created,state:0 @@ -3277,7 +3277,7 @@ msgstr "" "bedeutet, dass Sie Ihre einzelnen Buchungen nicht ändern können." #. module: account -#: code:addons/account/invoice.py:370 +#: code:addons/account/invoice.py:373 #, python-format msgid "Cannot delete invoice(s) that are already opened or paid !" msgstr "Kann offene oder bezahlte Rechnungen nicht löschen" @@ -3340,7 +3340,7 @@ msgstr "" "'Abgebrochen' oder 'Erledigt' Status ist." #. module: account -#: code:addons/account/account.py:522 +#: code:addons/account/account.py:532 #, python-format msgid "" "You cannot change the type of account from '%s' to '%s' type as it contains " @@ -3351,6 +3351,7 @@ msgstr "" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 msgid "Counterpart" msgstr "Gegenbuchung" @@ -3455,6 +3456,7 @@ msgstr "(Wenn kein Geschäftsjahr ausgewählt wird, werden alle genommen)" #: field:account.entries.report,date:0 #: selection:account.general.journal,filter:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.invoice.report,date:0 #: report:account.journal.period.print:0 #: view:account.move:0 @@ -3498,7 +3500,7 @@ msgid "Chart of Accounts Template" msgstr "Vorlage Kontenplan" #. module: account -#: code:addons/account/account.py:2095 +#: code:addons/account/account.py:2109 #, python-format msgid "" "Maturity date of entry line generated by model line '%s' of model '%s' is " @@ -3510,13 +3512,13 @@ msgstr "" "Bitte ordnen Sie dem Partner eine Zahlungsbedingungen zu." #. module: account -#: code:addons/account/account_move_line.py:810 +#: code:addons/account/account_move_line.py:801 #, python-format msgid "Some entries are already reconciled !" msgstr "Einige Einträge wurden bereits ausgeglichen!" #. module: account -#: code:addons/account/account.py:1204 +#: code:addons/account/account.py:1218 #, python-format msgid "" "You cannot validate a Journal Entry unless all journal items are in same " @@ -3644,7 +3646,7 @@ msgid "Analytic Items" msgstr "Analytische Buchungen" #. module: account -#: code:addons/account/account_move_line.py:1128 +#: code:addons/account/account_move_line.py:1134 #, python-format msgid "Unable to change tax !" msgstr "Die Steuer kann nicht geändert werden!" @@ -3655,7 +3657,7 @@ msgid "#Entries" msgstr "# Buchungen" #. module: account -#: code:addons/account/invoice.py:1422 +#: code:addons/account/invoice.py:1437 #, python-format msgid "" "You selected an Unit of Measure which is not compatible with the product." @@ -3663,7 +3665,7 @@ msgstr "" "Sie haben eine Mengeneinheit gewählt, die nicht kompatibel zum Produkt ist." #. module: account -#: code:addons/account/invoice.py:473 +#: code:addons/account/invoice.py:476 #, python-format msgid "" "The Payment Term of Supplier does not have Payment Term Lines(Computation) " @@ -3977,7 +3979,7 @@ msgid "Acc.Type" msgstr "Kontotyp" #. module: account -#: code:addons/account/invoice.py:714 +#: code:addons/account/invoice.py:722 #, python-format msgid "Global taxes defined, but are not in invoice lines !" msgstr "" @@ -4042,7 +4044,7 @@ msgstr "" "Status unmittelbar 'Gebucht' ist." #. module: account -#: code:addons/account/account_analytic_line.py:91 +#: code:addons/account/account_analytic_line.py:90 #, python-format msgid "There is no expense account defined for this product: \"%s\" (id:%d)" msgstr "" @@ -4224,7 +4226,7 @@ msgid "Credit Notes" msgstr "Gutschrift" #. module: account -#: code:addons/account/account.py:2067 +#: code:addons/account/account.py:2081 #: code:addons/account/wizard/account_use_model.py:69 #, python-format msgid "Unable to find a valid period !" @@ -4297,11 +4299,11 @@ msgid "Change" msgstr "Ändere Währung" #. module: account -#: code:addons/account/account.py:1290 -#: code:addons/account/account.py:1318 -#: code:addons/account/account.py:1325 -#: code:addons/account/account_move_line.py:1055 -#: code:addons/account/invoice.py:896 +#: code:addons/account/account.py:1304 +#: code:addons/account/account.py:1332 +#: code:addons/account/account.py:1339 +#: code:addons/account/account_move_line.py:1061 +#: code:addons/account/invoice.py:904 #: code:addons/account/wizard/account_automatic_reconcile.py:152 #: code:addons/account/wizard/account_fiscalyear_close.py:78 #: code:addons/account/wizard/account_fiscalyear_close.py:81 @@ -4408,7 +4410,7 @@ msgid "You must define an analytic journal of type '%s' !" msgstr "Ein Analytisches Journal vom Typ '%s' muss definiert werden" #. module: account -#: code:addons/account/account.py:1397 +#: code:addons/account/account.py:1411 #, python-format msgid "" "Couldn't create move with currency different from the secondary currency of " @@ -4480,7 +4482,7 @@ msgid "Invoices" msgstr "Rechnung" #. module: account -#: code:addons/account/invoice.py:804 +#: code:addons/account/invoice.py:812 #, python-format msgid "" "Please verify the price of the invoice !\n" @@ -4594,25 +4596,24 @@ msgid "Third Party (Country)" msgstr "Drittwelt (Land)" #. module: account -#: code:addons/account/account.py:938 -#: code:addons/account/account.py:940 -#: code:addons/account/account.py:1181 -#: code:addons/account/account.py:1393 -#: code:addons/account/account.py:1397 -#: code:addons/account/account_cash_statement.py:249 -#: code:addons/account/account_move_line.py:780 -#: code:addons/account/account_move_line.py:803 -#: code:addons/account/account_move_line.py:805 -#: code:addons/account/account_move_line.py:808 -#: code:addons/account/account_move_line.py:810 -#: code:addons/account/account_move_line.py:1117 +#: code:addons/account/account.py:952 +#: code:addons/account/account.py:954 +#: code:addons/account/account.py:1195 +#: code:addons/account/account.py:1407 +#: code:addons/account/account.py:1411 +#: code:addons/account/account_cash_statement.py:250 +#: code:addons/account/account_move_line.py:771 +#: code:addons/account/account_move_line.py:794 +#: code:addons/account/account_move_line.py:796 +#: code:addons/account/account_move_line.py:799 +#: code:addons/account/account_move_line.py:801 +#: code:addons/account/account_move_line.py:1123 #: code:addons/account/report/common_report_header.py:92 -#: code:addons/account/wizard/account_change_currency.py:39 -#: code:addons/account/wizard/account_change_currency.py:60 -#: code:addons/account/wizard/account_change_currency.py:65 -#: code:addons/account/wizard/account_change_currency.py:71 +#: 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_move_bank_reconcile.py:49 -#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40 #: code:addons/account/wizard/account_report_common.py:120 #: code:addons/account/wizard/account_report_common.py:126 #, python-format @@ -4634,7 +4635,7 @@ msgid "Bank Details" msgstr "Bankkonto Details" #. module: account -#: code:addons/account/invoice.py:720 +#: code:addons/account/invoice.py:728 #, python-format msgid "Taxes missing !" msgstr "Steuerkonfiguration fehlt!" @@ -4694,7 +4695,7 @@ msgid "Check Date not in the Period" msgstr "Prüfe auf ein Datum nicht in Periode" #. module: account -#: code:addons/account/account.py:1210 +#: code:addons/account/account.py:1224 #, python-format msgid "" "You can not modify a posted entry of this journal !\n" @@ -4716,7 +4717,7 @@ msgid "Child Tax Accounts" msgstr "untergeordnete Steuerkonten" #. module: account -#: code:addons/account/account.py:940 +#: code:addons/account/account.py:954 #, python-format msgid "Start period should be smaller then End period" msgstr "Beginn der Periode sollte kleiner sein als Ende der Periode" @@ -4746,6 +4747,7 @@ msgstr "Saldo (Anal.)" #: report:account.general.journal:0 #: field:account.general.journal,target_move:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.move.journal,target_move:0 #: report:account.partner.balance:0 @@ -4830,7 +4832,7 @@ msgid "Line 1:" msgstr "Zeile 1:" #. module: account -#: code:addons/account/account.py:1167 +#: code:addons/account/account.py:1181 #, python-format msgid "Integrity Error !" msgstr "Integritätsfehler!" @@ -4980,7 +4982,7 @@ msgstr "" "einen vorher vorhandenen Partner erstellen." #. module: account -#: code:addons/account/account.py:2067 +#: code:addons/account/account.py:2081 #: code:addons/account/wizard/account_use_model.py:69 #, python-format msgid "No period found !" @@ -5057,7 +5059,7 @@ msgstr "" "->> Fälligkeitstag = 28.2" #. module: account -#: code:addons/account/account.py:2896 +#: code:addons/account/account.py:2940 #: code:addons/account/installer.py:283 #: code:addons/account/installer.py:295 #, python-format @@ -5085,7 +5087,7 @@ msgid "Start of period" msgstr "Start Periode" #. module: account -#: code:addons/account/account_move_line.py:1193 +#: code:addons/account/account_move_line.py:1199 #, python-format msgid "" "You can not do this modification on a reconciled entry ! Please note that " @@ -5144,12 +5146,12 @@ msgstr "Journal Eröffnungsbuchungen" #. module: account #: code:addons/account/account_bank_statement.py:331 -#: code:addons/account/invoice.py:405 -#: code:addons/account/invoice.py:505 -#: code:addons/account/invoice.py:520 -#: code:addons/account/invoice.py:528 -#: code:addons/account/invoice.py:545 -#: code:addons/account/invoice.py:1347 +#: code:addons/account/invoice.py:408 +#: code:addons/account/invoice.py:508 +#: code:addons/account/invoice.py:523 +#: code:addons/account/invoice.py:531 +#: code:addons/account/invoice.py:552 +#: code:addons/account/invoice.py:1361 #: code:addons/account/wizard/account_move_journal.py:63 #, python-format msgid "Configuration Error !" @@ -5230,7 +5232,7 @@ msgid "Sort By" msgstr "Sortiert nach" #. module: account -#: code:addons/account/account.py:1326 +#: code:addons/account/account.py:1340 #, python-format msgid "" "There is no default default credit account defined \n" @@ -5391,7 +5393,7 @@ msgid "Generate Opening Entries" msgstr "Erstelle Vortragsbuchungen" #. module: account -#: code:addons/account/account_move_line.py:738 +#: code:addons/account/account_move_line.py:729 #, python-format msgid "Already Reconciled!" msgstr "Bereits ausgeglichen" @@ -5430,7 +5432,7 @@ msgstr "untergeordnete Konten" #. module: account #: view:account.move.line.reconcile:0 -#: code:addons/account/account_move_line.py:830 +#: code:addons/account/account_move_line.py:821 #, python-format msgid "Write-Off" msgstr "Abschreibung" @@ -5585,7 +5587,7 @@ msgid "# of Lines" msgstr "# Positionen" #. module: account -#: code:addons/account/wizard/account_change_currency.py:60 +#: code:addons/account/wizard/account_change_currency.py:59 #, python-format msgid "New currency is not confirured properly !" msgstr "Neue Währung wurde nicht vollständig konfiguriert !" @@ -5610,14 +5612,14 @@ msgid "Filter by" msgstr "Filter durch" #. module: account -#: code:addons/account/account_move_line.py:1131 -#: code:addons/account/account_move_line.py:1214 +#: code:addons/account/account_move_line.py:1137 +#: code:addons/account/account_move_line.py:1220 #, python-format msgid "You can not use an inactive account!" msgstr "Sie können kein inaktives Konto verwenden!" #. module: account -#: code:addons/account/account_move_line.py:803 +#: code:addons/account/account_move_line.py:794 #, python-format msgid "Entries are not of the same account or already reconciled ! " msgstr "" @@ -5654,7 +5656,7 @@ msgstr "7" #. module: account #: code:addons/account/account_bank_statement.py:391 -#: code:addons/account/invoice.py:370 +#: code:addons/account/invoice.py:373 #, python-format msgid "Invalid action !" msgstr "Fehlerhafte Aktion" @@ -5876,7 +5878,7 @@ msgid "Companies" msgstr "Unternehmen" #. module: account -#: code:addons/account/account.py:532 +#: code:addons/account/account.py:546 #, python-format msgid "" "You cannot modify Company of account as its related record exist in Entry " @@ -6157,9 +6159,9 @@ msgid "Optional create" msgstr "Erzeuge optional" #. module: account -#: code:addons/account/invoice.py:406 -#: code:addons/account/invoice.py:506 -#: code:addons/account/invoice.py:1348 +#: code:addons/account/invoice.py:409 +#: code:addons/account/invoice.py:509 +#: code:addons/account/invoice.py:1362 #, python-format msgid "Can not find account chart for this company, Please Create account." msgstr "" @@ -6312,8 +6314,8 @@ msgid "Analytic Entries Statistics" msgstr "Auswertung analytische Buchungen" #. module: account -#: code:addons/account/account_analytic_line.py:143 -#: code:addons/account/account_move_line.py:905 +#: code:addons/account/account_analytic_line.py:141 +#: code:addons/account/account_move_line.py:897 #, python-format msgid "Entries: " msgstr "Buchungen: " @@ -6324,7 +6326,7 @@ msgid "Create manual recurring entries in a chosen journal." msgstr "Händisch wiederkehrende Buchungen in ein bestimmtes Journal buchen." #. module: account -#: code:addons/account/account.py:1393 +#: code:addons/account/account.py:1407 #, python-format msgid "Couldn't create move between different companies" msgstr "Konnte keine überbetriebliche Buchung erzeugen" @@ -6373,7 +6375,7 @@ msgid "Total debit" msgstr "Gesamt Soll" #. module: account -#: code:addons/account/account_move_line.py:781 +#: code:addons/account/account_move_line.py:772 #, python-format msgid "Entry \"%s\" is not valid !" msgstr "Eintrag \"%s\" ist ungültig !" @@ -6443,30 +6445,31 @@ msgid " valuation: percent" msgstr " Wertansatz: Prozent" #. module: account -#: code:addons/account/account.py:499 -#: code:addons/account/account.py:501 -#: code:addons/account/account.py:822 -#: code:addons/account/account.py:901 -#: code:addons/account/account.py:976 -#: code:addons/account/account.py:1204 -#: code:addons/account/account.py:1210 -#: code:addons/account/account.py:2095 -#: code:addons/account/account.py:2333 -#: code:addons/account/account_analytic_line.py:90 -#: code:addons/account/account_analytic_line.py:99 +#: code:addons/account/account.py:509 +#: code:addons/account/account.py:511 +#: code:addons/account/account.py:836 +#: code:addons/account/account.py:915 +#: code:addons/account/account.py:990 +#: code:addons/account/account.py:1218 +#: code:addons/account/account.py:1224 +#: code:addons/account/account.py:2109 +#: code:addons/account/account.py:2357 +#: code:addons/account/account_analytic_line.py:89 +#: code:addons/account/account_analytic_line.py:98 #: code:addons/account/account_bank_statement.py:292 #: code:addons/account/account_bank_statement.py:305 #: code:addons/account/account_bank_statement.py:345 -#: code:addons/account/account_cash_statement.py:328 -#: code:addons/account/account_cash_statement.py:348 -#: code:addons/account/account_move_line.py:1176 -#: code:addons/account/account_move_line.py:1191 -#: code:addons/account/account_move_line.py:1193 -#: code:addons/account/invoice.py:785 -#: code:addons/account/invoice.py:815 -#: code:addons/account/invoice.py:1008 +#: code:addons/account/account_cash_statement.py:329 +#: code:addons/account/account_cash_statement.py:349 +#: code:addons/account/account_move_line.py:1182 +#: code:addons/account/account_move_line.py:1197 +#: code:addons/account/account_move_line.py:1199 +#: code:addons/account/invoice.py:793 +#: code:addons/account/invoice.py:823 +#: code:addons/account/invoice.py:1014 #: code:addons/account/wizard/account_invoice_refund.py:100 #: code:addons/account/wizard/account_invoice_refund.py:102 +#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40 #: code:addons/account/wizard/account_use_model.py:44 #, python-format msgid "Error !" @@ -6587,7 +6590,7 @@ msgid "Journal Select" msgstr "Wähle Journal" #. module: account -#: code:addons/account/wizard/account_change_currency.py:65 +#: code:addons/account/wizard/account_change_currency.py:64 #, python-format msgid "Currnt currency is not confirured properly !" msgstr "Die aktuelle Währung ist nicht korrekt konfiguriert !" @@ -6604,9 +6607,11 @@ msgstr "Steuern Zuordnung" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: view:account.report.general.ledger:0 #: model:ir.actions.act_window,name:account.action_account_general_ledger_menu #: model:ir.actions.report.xml,name:account.account_general_ledger +#: model:ir.actions.report.xml,name:account.account_general_ledger_landscape #: model:ir.ui.menu,name:account.menu_general_ledger msgid "General Ledger" msgstr "Umsätze nach Konten und Perioden" @@ -6667,7 +6672,7 @@ msgid "Total:" msgstr "Summe:" #. module: account -#: code:addons/account/account.py:2050 +#: code:addons/account/account.py:2064 #, python-format msgid "" "You can specify year, month and date in the name of the model using the " @@ -6705,7 +6710,7 @@ msgid "Child Codes" msgstr "untergeordnete Codes" #. module: account -#: code:addons/account/invoice.py:473 +#: code:addons/account/invoice.py:476 #: code:addons/account/wizard/account_invoice_refund.py:137 #, python-format msgid "Data Insufficient !" @@ -6896,7 +6901,7 @@ msgid "Lines" msgstr "Positionen" #. module: account -#: code:addons/account/invoice.py:521 +#: code:addons/account/invoice.py:524 #, python-format msgid "" "Can not find account chart for this company in invoice line account, Please " @@ -7095,7 +7100,7 @@ msgstr "" "Steuerberechnung gebraucht wird." #. module: account -#: code:addons/account/account.py:938 +#: code:addons/account/account.py:952 #, python-format msgid "You should have chosen periods that belongs to the same company" msgstr "" @@ -7214,7 +7219,7 @@ msgid "Sign on Reports" msgstr "Sign On Reports" #. module: account -#: code:addons/account/account_cash_statement.py:249 +#: code:addons/account/account_cash_statement.py:250 #, python-format msgid "You can not have two open register for the same journal" msgstr "" @@ -7251,7 +7256,6 @@ msgstr "" #. module: account #: report:account.invoice:0 #: view:account.invoice:0 -#: report:account.move.voucher:0 msgid "PRO-FORMA" msgstr "PRO-FORMA" @@ -7284,6 +7288,7 @@ msgstr "Informationen (Optional)" #. 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 @@ -7312,13 +7317,13 @@ msgstr "" "bezahlt werden soll." #. module: account -#: code:addons/account/account_move_line.py:1271 +#: code:addons/account/account_move_line.py:1277 #, python-format msgid "Bad account !" msgstr "Falsches Konto!" #. module: account -#: code:addons/account/account.py:2777 +#: code:addons/account/account.py:2821 #: code:addons/account/installer.py:432 #, python-format msgid "Sales Journal" @@ -7336,7 +7341,7 @@ msgid "Invoice Tax" msgstr "Umsatzsteuer" #. module: account -#: code:addons/account/account_move_line.py:1246 +#: code:addons/account/account_move_line.py:1252 #, python-format msgid "No piece number !" msgstr "Keine Stückzahl!" @@ -7582,17 +7587,17 @@ msgid "Fixed" msgstr "Fest" #. module: account -#: code:addons/account/account.py:506 -#: code:addons/account/account.py:519 -#: code:addons/account/account.py:522 +#: code:addons/account/account.py:516 +#: code:addons/account/account.py:529 #: code:addons/account/account.py:532 -#: code:addons/account/account.py:640 -#: code:addons/account/account.py:927 -#: code:addons/account/account_move_line.py:732 -#: code:addons/account/account_move_line.py:776 -#: code:addons/account/invoice.py:714 -#: code:addons/account/invoice.py:717 -#: code:addons/account/invoice.py:720 +#: code:addons/account/account.py:546 +#: code:addons/account/account.py:654 +#: code:addons/account/account.py:941 +#: code:addons/account/account_move_line.py:723 +#: code:addons/account/account_move_line.py:767 +#: code:addons/account/invoice.py:722 +#: code:addons/account/invoice.py:725 +#: code:addons/account/invoice.py:728 #, python-format msgid "Warning !" msgstr "Warnung" @@ -7624,6 +7629,7 @@ msgstr "Betrag (in Worten)" #: view:account.entries.report:0 #: field:account.entries.report,partner_id:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: view:account.invoice:0 #: field:account.invoice,partner_id:0 #: field:account.invoice.line,partner_id:0 @@ -7654,7 +7660,7 @@ msgid "Can not %s draft/proforma/cancel invoice." msgstr "Kann Entwurf/ProForma/Storno für Rechnung %s nicht durchführen" #. module: account -#: code:addons/account/invoice.py:787 +#: code:addons/account/invoice.py:795 #, python-format msgid "No Invoice Lines !" msgstr "Keine Rechnungszeilen !" @@ -7705,7 +7711,7 @@ msgid "Deferral Method" msgstr "Abgrenzung Jahreswechsel" #. module: account -#: code:addons/account/invoice.py:359 +#: code:addons/account/invoice.py:360 #, python-format msgid "Invoice '%s' is paid." msgstr "Rechnung '%s' wurde bezahlt." @@ -7769,7 +7775,7 @@ msgid "Associated Partner" msgstr "Zugehöriger Partner" #. module: account -#: code:addons/account/invoice.py:1284 +#: code:addons/account/invoice.py:1298 #, python-format msgid "You must first select a partner !" msgstr "Sie müssen zuerst einen Partner wählen!" @@ -7837,7 +7843,7 @@ msgid "Choose Fiscal Year" msgstr "Wähle Geschäftsjahr" #. module: account -#: code:addons/account/account.py:2841 +#: code:addons/account/account.py:2885 #: code:addons/account/installer.py:495 #, python-format msgid "Purchase Refund Journal" @@ -7876,6 +7882,7 @@ msgstr "Finanzbuchhaltung" #: view:account.entries.report:0 #: field:account.entries.report,period_id:0 #: view:account.fiscalyear:0 +#: report:account.general.ledger_landscape:0 #: view:account.invoice:0 #: view:account.invoice.report:0 #: field:account.journal.period,period_id:0 @@ -8057,7 +8064,7 @@ msgid "Account Types" msgstr "Kontoartkonfiguration" #. module: account -#: code:addons/account/invoice.py:897 +#: code:addons/account/invoice.py:905 #, python-format msgid "Cannot create invoice move on centralised journal" msgstr "Kann keine Rechnungsbuchungen in zentralisiertem Journal durchführen" @@ -8107,6 +8114,7 @@ msgstr "Journal Gutschriften" #: report:account.account.balance:0 #: report:account.central.journal:0 #: report:account.general.journal:0 +#: report:account.general.ledger_landscape:0 #: report:account.partner.balance:0 msgid "Filter By" msgstr "Filter nach" @@ -8150,7 +8158,7 @@ msgid "Payment Term Line" msgstr "Zahlungsbedingungen" #. module: account -#: code:addons/account/account.py:2794 +#: code:addons/account/account.py:2838 #: code:addons/account/installer.py:452 #, python-format msgid "Purchase Journal" @@ -8326,8 +8334,8 @@ msgstr "" "Bankauszug übereinstimmen." #. module: account -#: code:addons/account/account_move_line.py:1131 -#: code:addons/account/account_move_line.py:1214 +#: code:addons/account/account_move_line.py:1137 +#: code:addons/account/account_move_line.py:1220 #, python-format msgid "Bad account!" msgstr "Falsches Konto!" @@ -8338,7 +8346,7 @@ msgid "Keep empty for all open fiscal years" msgstr "Frei lassen für alle offenen Geschäftsjahre" #. module: account -#: code:addons/account/account_move_line.py:1056 +#: code:addons/account/account_move_line.py:1062 #, python-format msgid "The account move (%s) for centralisation has been confirmed!" msgstr "Die Buchungszeile (%s)" @@ -8361,6 +8369,7 @@ msgstr "" #: field:account.entries.report,currency_id:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.invoice,currency_id:0 #: field:account.invoice.report,currency_id:0 #: field:account.journal,currency:0 @@ -8564,14 +8573,14 @@ msgid "Period from" msgstr "Gültig ab" #. module: account -#: code:addons/account/account.py:2817 +#: code:addons/account/account.py:2861 #: code:addons/account/installer.py:476 #, python-format msgid "Sales Refund Journal" msgstr "Gutschriften Ausgangsrechnungen Journal" #. module: account -#: code:addons/account/account.py:927 +#: code:addons/account/account.py:941 #, python-format msgid "" "You cannot modify company of this period as its related record exist in " @@ -8621,7 +8630,7 @@ msgid "Purchase Tax(%)" msgstr "Steuer Einkauf (%)" #. module: account -#: code:addons/account/invoice.py:787 +#: code:addons/account/invoice.py:795 #, python-format msgid "Please create some invoice lines." msgstr "Bitte erstellen Sie einige Rechnungspositionen" @@ -8637,7 +8646,7 @@ msgid "Configure Your Accounting Application" msgstr "Konfigurieren Sie die Anwendungen für die Finanzbuchhaltung" #. module: account -#: code:addons/account/account.py:2820 +#: code:addons/account/account.py:2864 #: code:addons/account/installer.py:479 #, python-format msgid "SCNJ" @@ -8682,6 +8691,7 @@ msgstr "Überwachung von Zahlungseingängen" #: report:account.central.journal:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 #: report:account.third_party_ledger:0 @@ -8691,7 +8701,7 @@ msgid "Start Period" msgstr "Start Periode" #. module: account -#: code:addons/account/account.py:2333 +#: code:addons/account/account.py:2357 #, python-format msgid "Cannot locate parent code for template account!" msgstr "Kann keine Buchung auf einem Oberkonto vonehmen." @@ -8729,7 +8739,7 @@ msgstr "" "Buchhalter verbucht und validiert die Buchungszeilen einer Rechnung. " #. module: account -#: code:addons/account/invoice.py:1008 +#: code:addons/account/invoice.py:1014 #, python-format msgid "" "You cannot cancel the Invoice which is Partially Paid! You need to " @@ -8759,7 +8769,7 @@ msgid "You can not create move line on view account." msgstr "Sie können keine Buchungen auf Konten des Typs Ansicht erstellen." #. module: account -#: code:addons/account/wizard/account_change_currency.py:71 +#: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not confirured properly !" msgstr "Aktuelle Währung ist nicht korrekt definiert" @@ -8814,6 +8824,7 @@ msgstr "Leer lassen um das Erlöskonto zu nutzen" #: field:account.entries.report,balance:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.move.line,balance:0 #: report:account.partner.balance:0 #: selection:account.payment.term.line,value:0 @@ -8832,6 +8843,7 @@ msgstr "Händisch oder automatisch im System erfasst." #. module: account #: report:account.account.balance:0 +#: report:account.general.ledger_landscape:0 msgid "Display Account" msgstr "Anzeige Konten" @@ -8963,6 +8975,7 @@ msgstr "Händische Buchung" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.move.line,move_id:0 #: field:analytic.entries.report,move_id:0 @@ -8970,7 +8983,7 @@ msgid "Move" msgstr "Buchung" #. module: account -#: code:addons/account/account_move_line.py:1128 +#: code:addons/account/account_move_line.py:1134 #, python-format msgid "You can not change the tax, you should remove and recreate lines !" msgstr "Die Steuer kann nicht verändert werden. Löschen und Neuerstellen." @@ -9070,6 +9083,7 @@ msgstr "Saldo Analytisches Konto" #: report:account.central.journal:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 #: report:account.third_party_ledger:0 @@ -9113,7 +9127,7 @@ msgid "Account Subscription" msgstr "Konto Automatische Buchung" #. module: account -#: code:addons/account/invoice.py:717 +#: code:addons/account/invoice.py:725 #, python-format msgid "" "Tax base different !\n" @@ -9142,6 +9156,7 @@ msgstr "Eingabe automat. Buchung" #: report:account.general.journal:0 #: field:account.general.journal,date_from:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.installer,date_start:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -9170,7 +9185,7 @@ msgid "Unreconciled" msgstr "Offene Posten" #. module: account -#: code:addons/account/invoice.py:804 +#: code:addons/account/invoice.py:812 #, python-format msgid "Bad total !" msgstr "Falsche Summe!" @@ -9237,13 +9252,13 @@ msgid "Active" msgstr "Aktiv" #. module: account -#: code:addons/account/invoice.py:354 +#: code:addons/account/invoice.py:353 #, python-format msgid "Unknown Error" msgstr "Unbekannter Fehler" #. module: account -#: code:addons/account/account.py:1167 +#: code:addons/account/account.py:1181 #, python-format msgid "" "You cannot validate a non-balanced entry !\n" @@ -9294,10 +9309,10 @@ msgstr "Buchen" #: field:account.entries.report,credit:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.model.line,credit:0 #: field:account.move.line,credit:0 -#: report:account.move.voucher:0 #: report:account.partner.balance:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 @@ -9546,7 +9561,6 @@ msgstr "Periode auswählen" #: view:account.move:0 #: selection:account.move,state:0 #: view:account.move.line:0 -#: report:account.move.voucher:0 msgid "Posted" msgstr "Gebucht" @@ -9565,6 +9579,7 @@ msgstr "Gebucht" #: report:account.general.journal:0 #: field:account.general.journal,date_to:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.installer,date_stop:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -9618,7 +9633,7 @@ msgid "This is a model for recurring accounting entries" msgstr "Dieses ist ein Modell für wiederkehrende Buchungen." #. module: account -#: code:addons/account/account_analytic_line.py:100 +#: code:addons/account/account_analytic_line.py:99 #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)" msgstr "" @@ -9781,8 +9796,8 @@ msgid "End period" msgstr "Ende Periode" #. module: account -#: code:addons/account/account_move_line.py:738 -#: code:addons/account/account_move_line.py:815 +#: code:addons/account/account_move_line.py:729 +#: code:addons/account/account_move_line.py:806 #: code:addons/account/wizard/account_invoice_state.py:44 #: code:addons/account/wizard/account_invoice_state.py:68 #: code:addons/account/wizard/account_report_balance_sheet.py:70 @@ -9850,10 +9865,10 @@ msgstr "Eingangsrechnungen" #: field:account.entries.report,debit:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.model.line,debit:0 #: field:account.move.line,debit:0 -#: report:account.move.voucher:0 #: report:account.partner.balance:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 @@ -9890,7 +9905,7 @@ msgid "Recurring" msgstr "Wiederkehrend" #. module: account -#: code:addons/account/account_move_line.py:805 +#: code:addons/account/account_move_line.py:796 #, python-format msgid "Entry is already reconciled" msgstr "Buchung wurde bereits ausgeglichen" @@ -9911,7 +9926,7 @@ msgid "Range" msgstr "Bereich" #. module: account -#: code:addons/account/account_move_line.py:1246 +#: code:addons/account/account_move_line.py:1252 #, python-format msgid "" "Can not create an automatic sequence for this piece !\n" @@ -10052,7 +10067,7 @@ msgid "Accounts Mapping" msgstr "Zuordnung Finanzkonten" #. module: account -#: code:addons/account/invoice.py:346 +#: code:addons/account/invoice.py:345 #, python-format msgid "Invoice '%s' is waiting for validation." msgstr "Rechnung '%s' wartet auf Buchungsfreigabe." @@ -10077,7 +10092,7 @@ msgid "The income or expense account related to the selected product." msgstr "Aufwand- und Erlöskonto des Produktes" #. module: account -#: code:addons/account/account_move_line.py:1117 +#: code:addons/account/account_move_line.py:1123 #, python-format msgid "The date of your Journal Entry is not in the defined period!" msgstr "" @@ -10241,7 +10256,7 @@ msgstr "Zentrales Journal" #. module: account #: report:account.overdue:0 msgid "Maturity" -msgstr "Fällig am" +msgstr "überfälllig" #. module: account #: selection:account.aged.trial.balance,direction_selection:0 @@ -10287,7 +10302,7 @@ msgid "You must enter a period length that cannot be 0 or below !" msgstr "Die Länge der Periode muss größer als 0 sein" #. module: account -#: code:addons/account/account.py:501 +#: code:addons/account/account.py:511 #, python-format msgid "You cannot remove an account which has account entries!. " msgstr "" @@ -10355,9 +10370,6 @@ msgstr "" #~ msgid "Unreconciled entries" #~ msgstr "Offene Posten" -#~ msgid "Print Taxes Report" -#~ msgstr "Druck Report Steuer" - #, python-format #~ msgid "Account move line \"%s\" is not valid" #~ msgstr "Buchungsposition \"%s\" ist ungültig" @@ -10365,9 +10377,6 @@ msgstr "" #~ msgid "Unreconcile entries" #~ msgstr "Storno Ausgleich" -#~ msgid "Confirm draft invoices" -#~ msgstr "Bestätige Entwurf Rechnung" - #~ msgid "Charts of Account" #~ msgstr "Kontenplan Finanzkonten" @@ -11825,16 +11834,6 @@ msgstr "" #~ msgid "Account Reporting - Reporting" #~ msgstr "Finanz Reporting" -#~ msgid "" -#~ "Gives the view used when writing or browsing entries in this journal. The " -#~ "view tell Open ERP which fields should be visible, required or readonly and " -#~ "in which order. You can create your own view for a faster encoding in each " -#~ "journal." -#~ msgstr "" -#~ "Definiert Felder (sichtbar, zwingend, nur lesen) für die Sicht für dieses " -#~ "Journal. Für jedes Journal können eingene Sichten erzeugt wrden um scheller " -#~ "erfassen zu können" - #~ msgid "wizard.company.setup" #~ msgstr "wizard.company.setup" @@ -12289,3 +12288,26 @@ msgstr "" #~ "dem Geschäftsjahr verwendet (Bei vorläufigem Gewinn: Betrag wird " #~ "gutgeschrieben, bei vorläufigem Verlust: Betrag wird belastet.) Der Betrag " #~ "wird durch die Auswertung Gewinn & Verlust generiert." + +#~ msgid "" +#~ "Gives the view used when writing or browsing entries in this journal. The " +#~ "view tell Open ERP which fields should be visible, required or readonly and " +#~ "in which order. You can create your own view for a faster encoding in each " +#~ "journal." +#~ msgstr "" +#~ "Zeigt an, welche Sicht genutzt wird, wenn Sie dieses Journal durchblättern " +#~ "oder etwas schreiben. Die Sichten geben Open ERP an, welche Felder sichtbar " +#~ "sein sollen, zwingend benötigt werden, ob nur lesend auf sie zugegriffen " +#~ "werden darf und in welcher Reihenfolge Sie erscheinen sollen. Sie können " +#~ "Ihre eigene Sicht erstellen, um jedes Journal schneller erfassen zu können." + +#~ msgid "Print Taxes Report" +#~ msgstr "Steuerbericht drucken" + +#, python-format +#~ msgid "" +#~ "No period defined for this date !\n" +#~ "Please create a fiscal year." +#~ msgstr "" +#~ "Kein Zeitraum für dieses Datum definiert!\n" +#~ "Bitte erzeugen Sie ein neues Geschäftsjahr." diff --git a/addons/account/i18n/pt_BR.po b/addons/account/i18n/pt_BR.po index e3c4f508e2f..12a1b35a98a 100644 --- a/addons/account/i18n/pt_BR.po +++ b/addons/account/i18n/pt_BR.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: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2011-05-04 03:16+0000\n" -"Last-Translator: Emerson \n" +"PO-Revision-Date: 2011-07-02 18:53+0000\n" +"Last-Translator: Nédio Batista Marques \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-05-05 04:40+0000\n" -"X-Generator: Launchpad (build 12959)\n" +"X-Launchpad-Export-Date: 2011-07-03 04:46+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -33,7 +33,7 @@ msgid "No End of year journal defined for the fiscal year" msgstr "Nenhum Livro de Encerramento definido para o Ano Fiscal." #. module: account -#: code:addons/account/account.py:506 +#: code:addons/account/account.py:516 #, python-format msgid "" "You cannot remove/deactivate an account which is set as a property to any " @@ -67,7 +67,7 @@ msgid "Residual" msgstr "Residual" #. module: account -#: code:addons/account/invoice.py:785 +#: code:addons/account/invoice.py:793 #, python-format msgid "Please define sequence on invoice journal" msgstr "Defina uma sequencia para o diário" @@ -136,7 +136,7 @@ msgid "Accounting Entries-" msgstr "Lançamentos contábeis-" #. module: account -#: code:addons/account/account.py:1291 +#: code:addons/account/account.py:1305 #, python-format msgid "You can not delete posted movement: \"%s\"!" msgstr "Você não pode excluir o movimento postado: \"%s\"!" @@ -182,7 +182,7 @@ msgstr "" "pagamento sem as remover." #. module: account -#: code:addons/account/invoice.py:1421 +#: code:addons/account/invoice.py:1436 #, python-format msgid "Warning!" msgstr "Aviso!" @@ -237,7 +237,7 @@ msgid "account.tax" msgstr "account.tax" #. module: account -#: code:addons/account/account.py:901 +#: code:addons/account/account.py:915 #, python-format msgid "" "No period defined for this date: %s !\n" @@ -270,7 +270,7 @@ msgstr "" "(IVA) relativos a este código de imposto apareçam nas faturas" #. module: account -#: code:addons/account/invoice.py:1210 +#: code:addons/account/invoice.py:1224 #, python-format msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)" msgstr "Fatura '%s' é parcialmente paga: %s%s of %s%s (%s%s restantes)" @@ -286,7 +286,7 @@ msgid "Belgian Reports" msgstr "Relatórios belgas" #. module: account -#: code:addons/account/account_move_line.py:1176 +#: code:addons/account/account_move_line.py:1182 #, python-format msgid "You can not add/modify entries in a closed journal." msgstr "Você não pode incluir/modificar as lançamentos em um diário fechado." @@ -324,12 +324,11 @@ msgid "St." msgstr "St." #. module: account -#: code:addons/account/invoice.py:529 +#: code:addons/account/invoice.py:532 #, python-format msgid "Invoice line account company does not match with invoice company." msgstr "" -"A companhia da conta da linha da fatura, não corresponde à companhia da " -"fatura." +"A empresa da conta da linha da fatura, não corresponde à empresa da fatura." #. module: account #: field:account.journal.column,field:0 @@ -586,7 +585,7 @@ msgid "Not reconciled transactions" msgstr "Transação não conciliada" #. module: account -#: code:addons/account/account_cash_statement.py:348 +#: code:addons/account/account_cash_statement.py:349 #, python-format msgid "CashBox Balance is not matching with Calculated Balance !" msgstr "Balanço de Caixa não confere com Balanço Calculado" @@ -671,7 +670,7 @@ msgid "Tax Code Amount" msgstr "Valor do Código do Imposto" #. module: account -#: code:addons/account/account.py:2779 +#: code:addons/account/account.py:2823 #: code:addons/account/installer.py:434 #, python-format msgid "SAJ" @@ -704,8 +703,8 @@ msgid "Journal Period" msgstr "Período do Diário" #. module: account -#: code:addons/account/account_move_line.py:732 -#: code:addons/account/account_move_line.py:776 +#: code:addons/account/account_move_line.py:723 +#: code:addons/account/account_move_line.py:767 #, python-format msgid "To reconcile the entries company should be the same for all entries" msgstr "" @@ -768,7 +767,7 @@ msgid "Analytic Entries by line" msgstr "Entradas analíticas por linha" #. module: account -#: code:addons/account/wizard/account_change_currency.py:39 +#: code:addons/account/wizard/account_change_currency.py:38 #, python-format msgid "You can only change currency for Draft Invoice !" msgstr "É permitido alterar a moeda apenas para Fatura Rascunho" @@ -872,7 +871,7 @@ msgid "Next Partner to reconcile" msgstr "Próximo Parceiro a reconciliar" #. module: account -#: code:addons/account/account_move_line.py:1191 +#: code:addons/account/account_move_line.py:1197 #, python-format msgid "" "You can not do this modification on a confirmed entry ! Please note that you " @@ -999,11 +998,11 @@ msgid "Code" msgstr "Código" #. module: account -#: code:addons/account/account.py:2083 +#: code:addons/account/account.py:2097 #: code:addons/account/account_bank_statement.py:350 -#: code:addons/account/account_move_line.py:170 +#: code:addons/account/account_move_line.py:169 #: code:addons/account/invoice.py:73 -#: code:addons/account/invoice.py:670 +#: code:addons/account/invoice.py:678 #: code:addons/account/wizard/account_use_model.py:81 #, python-format msgid "No Analytic Journal !" @@ -1084,7 +1083,6 @@ msgstr "Lucros e Perdas (Conta de Despesas)" #. module: account #: report:account.analytic.account.journal:0 -#: report:account.move.voucher:0 #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 msgid "-" @@ -1175,6 +1173,7 @@ msgstr "# de transações" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 @@ -1182,7 +1181,7 @@ msgid "Entry Label" msgstr "Aba de lançamento" #. module: account -#: code:addons/account/account.py:976 +#: code:addons/account/account.py:990 #, python-format msgid "You can not modify/delete a journal with entries for this period !" msgstr "" @@ -1321,7 +1320,6 @@ msgid "Journal Items Analysis" msgstr "Análise de Itens de Diário" #. module: account -#: model:ir.actions.act_window,name:account.action_partner_all #: model:ir.ui.menu,name:account.next_id_22 msgid "Partners" msgstr "Parceiros" @@ -1351,7 +1349,7 @@ msgid "Central Journal" msgstr "Diário Central" #. module: account -#: code:addons/account/account_move_line.py:1271 +#: code:addons/account/account_move_line.py:1277 #, python-format msgid "You can not use this general account in this journal !" msgstr "Voce não pode usar esta conta geral neste diário !" @@ -1448,7 +1446,7 @@ msgid "" msgstr "Exemplo: 2% em 14 dias, restante em 30 dias no fim do mês." #. module: account -#: code:addons/account/invoice.py:815 +#: code:addons/account/invoice.py:823 #, python-format msgid "" "Cannot create the invoice !\n" @@ -1618,7 +1616,6 @@ msgid "Separated Journal Sequences" msgstr "Sequências de diário separadas" #. module: account -#: field:account.bank.statement,user_id:0 #: view:account.invoice:0 msgid "Responsible" msgstr "Responsável" @@ -1690,7 +1687,7 @@ msgid "Error! You cannot define overlapping fiscal years" msgstr "Erro! Você não pode definir anos fiscais que se sobreponham." #. module: account -#: code:addons/account/account_move_line.py:808 +#: code:addons/account/account_move_line.py:799 #, python-format msgid "The account is not defined to be reconciled !" msgstr "A conta não está definida para ser reconciliada !" @@ -1725,7 +1722,7 @@ msgid "Receivables & Payables" msgstr "Recebíveis & Pagáveis" #. module: account -#: code:addons/account/account_move_line.py:815 +#: code:addons/account/account_move_line.py:806 #, python-format msgid "You have to provide an account for the write off entry !" msgstr "Você tem que fornecer uma conta para o lançamento da baixa !" @@ -1761,7 +1758,7 @@ msgid "Customer Ref:" msgstr "Ref.Cliente:" #. module: account -#: code:addons/account/account_cash_statement.py:328 +#: code:addons/account/account_cash_statement.py:329 #, python-format msgid "User %s does not have rights to access %s journal !" msgstr "Usuário %s não possui permissões para acessar o diário %s !" @@ -1782,7 +1779,7 @@ msgid "Tax Declaration: Credit Notes" msgstr "Declaração de Impostos: Observações de Crédito" #. module: account -#: code:addons/account/account.py:499 +#: code:addons/account/account.py:509 #, python-format msgid "You cannot deactivate an account that contains account moves." msgstr "" @@ -1799,7 +1796,7 @@ msgid "You can not create move line on closed account." msgstr "Você não pode criar linhas de movimento em uma conta fechada." #. module: account -#: code:addons/account/account.py:519 +#: code:addons/account/account.py:529 #, python-format msgid "" "You cannot change the type of account from 'Closed' to any other type which " @@ -2082,7 +2079,7 @@ msgid " Journal" msgstr " Diário" #. module: account -#: code:addons/account/account.py:1319 +#: code:addons/account/account.py:1333 #, python-format msgid "" "There is no default default debit account defined \n" @@ -2144,7 +2141,7 @@ msgid "Description" msgstr "Descrição" #. module: account -#: code:addons/account/account.py:2844 +#: code:addons/account/account.py:2888 #: code:addons/account/installer.py:498 #, python-format msgid "ECNJ" @@ -2164,7 +2161,7 @@ msgid "Income Account" msgstr "Conta de Receita" #. module: account -#: code:addons/account/invoice.py:352 +#: code:addons/account/invoice.py:351 #, python-format msgid "There is no Accounting Journal of type Sale/Purchase defined!" msgstr "Não existe Diário Contábil do tipo Compra/Venda definido!" @@ -2175,6 +2172,7 @@ msgid "Accounting Properties" msgstr "Propriedades da Conta" #. module: account +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.print.journal,sort_selection:0 msgid "Entries Sorted By" @@ -2203,6 +2201,7 @@ msgstr "Modelo de produto" #: field:account.fiscalyear,name:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.journal.period,fiscalyear_id:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -2312,7 +2311,7 @@ msgid "Account Tax Code" msgstr "Código da conta de impostos" #. module: account -#: code:addons/account/invoice.py:545 +#: code:addons/account/invoice.py:552 #, python-format msgid "" "Can't find any account journal of %s type for this company.\n" @@ -2393,7 +2392,7 @@ msgid "Account Model Entries" msgstr "Modelo de entrada de contas" #. module: account -#: code:addons/account/account.py:2796 +#: code:addons/account/account.py:2840 #: code:addons/account/installer.py:454 #, python-format msgid "EXJ" @@ -2484,7 +2483,7 @@ msgid "Accounts" msgstr "Contas" #. module: account -#: code:addons/account/invoice.py:351 +#: code:addons/account/invoice.py:350 #, python-format msgid "Configuration Error!" msgstr "Erro de Configuração!" @@ -2496,13 +2495,12 @@ msgid "Average Price" msgstr "Preço médio" #. module: account -#: report:account.move.voucher:0 #: report:account.overdue:0 msgid "Date:" msgstr "Data:" #. module: account -#: code:addons/account/account.py:640 +#: code:addons/account/account.py:654 #, python-format msgid "" "You cannot modify company of this journal as its related record exist in " @@ -2540,6 +2538,7 @@ msgstr "Desc.(%)" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.overdue:0 #: report:account.third_party_ledger:0 @@ -2656,16 +2655,16 @@ msgid "This wizard will create recurring accounting entries" msgstr "Este assistente irá criar lançamentos contábeis periódicos" #. module: account -#: code:addons/account/account.py:1181 +#: code:addons/account/account.py:1195 #, python-format msgid "No sequence defined on the journal !" msgstr "Nenhuma seqüência definida no diário !" #. module: account -#: code:addons/account/account.py:2083 +#: code:addons/account/account.py:2097 #: code:addons/account/account_bank_statement.py:350 -#: code:addons/account/account_move_line.py:170 -#: code:addons/account/invoice.py:670 +#: code:addons/account/account_move_line.py:169 +#: code:addons/account/invoice.py:678 #: code:addons/account/wizard/account_use_model.py:81 #, python-format msgid "You have to define an analytic journal on the '%s' journal!" @@ -2837,7 +2836,7 @@ msgid "Analytic Entries" msgstr "Lançamentos analíticos" #. module: account -#: code:addons/account/account.py:822 +#: code:addons/account/account.py:836 #, python-format msgid "" "No fiscal year defined for this date !\n" @@ -2969,7 +2968,7 @@ msgid "BNK%s" msgstr "BCO%s" #. module: account -#: code:addons/account/account.py:2906 +#: code:addons/account/account.py:2950 #: code:addons/account/installer.py:296 #, python-format msgid "BNK" @@ -3091,6 +3090,7 @@ msgstr "Deixe vazio para usar a conta de despesas" #: field:account.common.report,journal_ids:0 #: report:account.general.journal:0 #: field:account.general.journal,journal_ids:0 +#: report:account.general.ledger_landscape:0 #: view:account.journal.period:0 #: report:account.partner.balance:0 #: field:account.partner.balance,journal_ids:0 @@ -3151,7 +3151,7 @@ msgid "Starting Balance" msgstr "Saldo Inicial" #. module: account -#: code:addons/account/invoice.py:1284 +#: code:addons/account/invoice.py:1298 #, python-format msgid "No Partner Defined !" msgstr "Número do parceiro definido !" @@ -3195,7 +3195,6 @@ msgstr "Diário" #: view:account.invoice.report:0 #: selection:account.invoice.report,state:0 #: selection:account.journal.period,state:0 -#: report:account.move.voucher:0 #: view:account.subscription:0 #: selection:account.subscription,state:0 #: selection:report.invoice.created,state:0 @@ -3249,7 +3248,7 @@ msgstr "" "que você não poderá mais alterar seus campos." #. module: account -#: code:addons/account/invoice.py:370 +#: code:addons/account/invoice.py:373 #, python-format msgid "Cannot delete invoice(s) that are already opened or paid !" msgstr "Impossível excluir fatura(s) que já foram abertas ou pagas!" @@ -3312,7 +3311,7 @@ msgstr "" "'Cancelado' ou 'Concluído'!" #. module: account -#: code:addons/account/account.py:522 +#: code:addons/account/account.py:532 #, python-format msgid "" "You cannot change the type of account from '%s' to '%s' type as it contains " @@ -3323,6 +3322,7 @@ msgstr "" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 msgid "Counterpart" msgstr "Contra-parte" @@ -3428,6 +3428,7 @@ msgstr "" #: field:account.entries.report,date:0 #: selection:account.general.journal,filter:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.invoice.report,date:0 #: report:account.journal.period.print:0 #: view:account.move:0 @@ -3471,7 +3472,7 @@ msgid "Chart of Accounts Template" msgstr "Modelo de plano de contas" #. module: account -#: code:addons/account/account.py:2095 +#: code:addons/account/account.py:2109 #, python-format msgid "" "Maturity date of entry line generated by model line '%s' of model '%s' is " @@ -3483,13 +3484,13 @@ msgstr "" "Por favor, defina o parceiro sobre ela!" #. module: account -#: code:addons/account/account_move_line.py:810 +#: code:addons/account/account_move_line.py:801 #, python-format msgid "Some entries are already reconciled !" msgstr "Alguns lançamentos já estão conciliados !" #. module: account -#: code:addons/account/account.py:1204 +#: code:addons/account/account.py:1218 #, python-format msgid "" "You cannot validate a Journal Entry unless all journal items are in same " @@ -3617,7 +3618,7 @@ msgid "Analytic Items" msgstr "Itens Analíticos" #. module: account -#: code:addons/account/account_move_line.py:1128 +#: code:addons/account/account_move_line.py:1134 #, python-format msgid "Unable to change tax !" msgstr "Não foi possível alterar o imposto!" @@ -3628,14 +3629,14 @@ msgid "#Entries" msgstr "#Entradas" #. module: account -#: code:addons/account/invoice.py:1422 +#: code:addons/account/invoice.py:1437 #, python-format msgid "" "You selected an Unit of Measure which is not compatible with the product." msgstr "Você selecionou uma unidade que não é compatível com o produto." #. module: account -#: code:addons/account/invoice.py:473 +#: code:addons/account/invoice.py:476 #, python-format msgid "" "The Payment Term of Supplier does not have Payment Term Lines(Computation) " @@ -3949,7 +3950,7 @@ msgid "Acc.Type" msgstr "Tipo de Conta" #. module: account -#: code:addons/account/invoice.py:714 +#: code:addons/account/invoice.py:722 #, python-format msgid "Global taxes defined, but are not in invoice lines !" msgstr "" @@ -4014,7 +4015,7 @@ msgstr "" "...) os quais já são gerados com status 'Postado'." #. module: account -#: code:addons/account/account_analytic_line.py:91 +#: code:addons/account/account_analytic_line.py:90 #, python-format msgid "There is no expense account defined for this product: \"%s\" (id:%d)" msgstr "" @@ -4193,7 +4194,7 @@ msgid "Credit Notes" msgstr "Notas de crédito" #. module: account -#: code:addons/account/account.py:2067 +#: code:addons/account/account.py:2081 #: code:addons/account/wizard/account_use_model.py:69 #, python-format msgid "Unable to find a valid period !" @@ -4247,7 +4248,7 @@ msgstr "Taxa incluida no preço" #. module: account #: model:ir.model,name:account.model_account_analytic_cost_ledger_journal_report msgid "Account Analytic Cost Ledger For Journal Report" -msgstr "" +msgstr "Livro-razão Conta Custo Analítico para o Relatório de Diários" #. module: account #: model:ir.actions.act_window,name:account.action_model_form @@ -4266,11 +4267,11 @@ msgid "Change" msgstr "Alterar" #. module: account -#: code:addons/account/account.py:1290 -#: code:addons/account/account.py:1318 -#: code:addons/account/account.py:1325 -#: code:addons/account/account_move_line.py:1055 -#: code:addons/account/invoice.py:896 +#: code:addons/account/account.py:1304 +#: code:addons/account/account.py:1332 +#: code:addons/account/account.py:1339 +#: code:addons/account/account_move_line.py:1061 +#: code:addons/account/invoice.py:904 #: code:addons/account/wizard/account_automatic_reconcile.py:152 #: code:addons/account/wizard/account_fiscalyear_close.py:78 #: code:addons/account/wizard/account_fiscalyear_close.py:81 @@ -4376,7 +4377,7 @@ msgid "You must define an analytic journal of type '%s' !" msgstr "Você tem que definir um diário analítico '%s' !" #. module: account -#: code:addons/account/account.py:1397 +#: code:addons/account/account.py:1411 #, python-format msgid "" "Couldn't create move with currency different from the secondary currency of " @@ -4448,7 +4449,7 @@ msgid "Invoices" msgstr "Faturas" #. module: account -#: code:addons/account/invoice.py:804 +#: code:addons/account/invoice.py:812 #, python-format msgid "" "Please verify the price of the invoice !\n" @@ -4562,25 +4563,24 @@ msgid "Third Party (Country)" msgstr "Terceiro (País)" #. module: account -#: code:addons/account/account.py:938 -#: code:addons/account/account.py:940 -#: code:addons/account/account.py:1181 -#: code:addons/account/account.py:1393 -#: code:addons/account/account.py:1397 -#: code:addons/account/account_cash_statement.py:249 -#: code:addons/account/account_move_line.py:780 -#: code:addons/account/account_move_line.py:803 -#: code:addons/account/account_move_line.py:805 -#: code:addons/account/account_move_line.py:808 -#: code:addons/account/account_move_line.py:810 -#: code:addons/account/account_move_line.py:1117 +#: code:addons/account/account.py:952 +#: code:addons/account/account.py:954 +#: code:addons/account/account.py:1195 +#: code:addons/account/account.py:1407 +#: code:addons/account/account.py:1411 +#: code:addons/account/account_cash_statement.py:250 +#: code:addons/account/account_move_line.py:771 +#: code:addons/account/account_move_line.py:794 +#: code:addons/account/account_move_line.py:796 +#: code:addons/account/account_move_line.py:799 +#: code:addons/account/account_move_line.py:801 +#: code:addons/account/account_move_line.py:1123 #: code:addons/account/report/common_report_header.py:92 -#: code:addons/account/wizard/account_change_currency.py:39 -#: code:addons/account/wizard/account_change_currency.py:60 -#: code:addons/account/wizard/account_change_currency.py:65 -#: code:addons/account/wizard/account_change_currency.py:71 +#: 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_move_bank_reconcile.py:49 -#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40 #: code:addons/account/wizard/account_report_common.py:120 #: code:addons/account/wizard/account_report_common.py:126 #, python-format @@ -4602,7 +4602,7 @@ msgid "Bank Details" msgstr "Detalhes bancários" #. module: account -#: code:addons/account/invoice.py:720 +#: code:addons/account/invoice.py:728 #, python-format msgid "Taxes missing !" msgstr "Impostos faltando!" @@ -4661,7 +4661,7 @@ msgid "Check Date not in the Period" msgstr "Verificar Data fora do Período" #. module: account -#: code:addons/account/account.py:1210 +#: code:addons/account/account.py:1224 #, python-format msgid "" "You can not modify a posted entry of this journal !\n" @@ -4683,7 +4683,7 @@ msgid "Child Tax Accounts" msgstr "Contas de impostos derivados (subcontas)" #. module: account -#: code:addons/account/account.py:940 +#: code:addons/account/account.py:954 #, python-format msgid "Start period should be smaller then End period" msgstr "Período Inicial deve ser anterior ao Período Final" @@ -4713,6 +4713,7 @@ msgstr "Balanço analítico -" #: report:account.general.journal:0 #: field:account.general.journal,target_move:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.move.journal,target_move:0 #: report:account.partner.balance:0 @@ -4795,7 +4796,7 @@ msgid "Line 1:" msgstr "Linha 1:" #. module: account -#: code:addons/account/account.py:1167 +#: code:addons/account/account.py:1181 #, python-format msgid "Integrity Error !" msgstr "Erro de integridade !" @@ -4945,7 +4946,7 @@ msgstr "" "um parceiro" #. module: account -#: code:addons/account/account.py:2067 +#: code:addons/account/account.py:2081 #: code:addons/account/wizard/account_use_model.py:69 #, python-format msgid "No period found !" @@ -5020,7 +5021,7 @@ msgstr "" "28/02." #. module: account -#: code:addons/account/account.py:2896 +#: code:addons/account/account.py:2940 #: code:addons/account/installer.py:283 #: code:addons/account/installer.py:295 #, python-format @@ -5048,7 +5049,7 @@ msgid "Start of period" msgstr "Início do período" #. module: account -#: code:addons/account/account_move_line.py:1193 +#: code:addons/account/account_move_line.py:1199 #, python-format msgid "" "You can not do this modification on a reconciled entry ! Please note that " @@ -5060,7 +5061,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_common_account_report msgid "Account Common Account Report" -msgstr "" +msgstr "Relatório de Contas da Contabilidade Geral" #. module: account #: field:account.bank.statement.line,name:0 @@ -5106,12 +5107,12 @@ msgstr "Diário de lançamentos do fim do ano" #. module: account #: code:addons/account/account_bank_statement.py:331 -#: code:addons/account/invoice.py:405 -#: code:addons/account/invoice.py:505 -#: code:addons/account/invoice.py:520 -#: code:addons/account/invoice.py:528 -#: code:addons/account/invoice.py:545 -#: code:addons/account/invoice.py:1347 +#: code:addons/account/invoice.py:408 +#: code:addons/account/invoice.py:508 +#: code:addons/account/invoice.py:523 +#: code:addons/account/invoice.py:531 +#: code:addons/account/invoice.py:552 +#: code:addons/account/invoice.py:1361 #: code:addons/account/wizard/account_move_journal.py:63 #, python-format msgid "Configuration Error !" @@ -5191,7 +5192,7 @@ msgid "Sort By" msgstr "Ordenar Por" #. module: account -#: code:addons/account/account.py:1326 +#: code:addons/account/account.py:1340 #, python-format msgid "" "There is no default default credit account defined \n" @@ -5346,7 +5347,7 @@ msgid "Generate Opening Entries" msgstr "Gerar Lançamentos de Abertura" #. module: account -#: code:addons/account/account_move_line.py:738 +#: code:addons/account/account_move_line.py:729 #, python-format msgid "Already Reconciled!" msgstr "Já Reconciliado" @@ -5384,7 +5385,7 @@ msgstr "Sub-contas" #. module: account #: view:account.move.line.reconcile:0 -#: code:addons/account/account_move_line.py:830 +#: code:addons/account/account_move_line.py:821 #, python-format msgid "Write-Off" msgstr "Baixa ou exclusão" @@ -5433,6 +5434,8 @@ msgid "" "Streamlines invoice payment and creates hooks to plug automated payment " "systems in." msgstr "" +"Simplifica o pagamento de faturas e cria ligações com o sistema de pagamento " +"automático." #. module: account #: field:account.payment.term.line,value:0 @@ -5534,7 +5537,7 @@ msgid "# of Lines" msgstr "# de Linhas" #. module: account -#: code:addons/account/wizard/account_change_currency.py:60 +#: code:addons/account/wizard/account_change_currency.py:59 #, python-format msgid "New currency is not confirured properly !" msgstr "A nova moeda não está configurada corretamente !" @@ -5559,14 +5562,14 @@ msgid "Filter by" msgstr "Filtrar por" #. module: account -#: code:addons/account/account_move_line.py:1131 -#: code:addons/account/account_move_line.py:1214 +#: code:addons/account/account_move_line.py:1137 +#: code:addons/account/account_move_line.py:1220 #, python-format msgid "You can not use an inactive account!" msgstr "Voce não pode usar uma conta inativa!" #. module: account -#: code:addons/account/account_move_line.py:803 +#: code:addons/account/account_move_line.py:794 #, python-format msgid "Entries are not of the same account or already reconciled ! " msgstr "Lançamentos não são das mesmas contas ou já estão conciliados ! " @@ -5601,7 +5604,7 @@ msgstr "7" #. module: account #: code:addons/account/account_bank_statement.py:391 -#: code:addons/account/invoice.py:370 +#: code:addons/account/invoice.py:373 #, python-format msgid "Invalid action !" msgstr "Ação invalida !" @@ -5821,7 +5824,7 @@ msgid "Companies" msgstr "Empresas" #. module: account -#: code:addons/account/account.py:532 +#: code:addons/account/account.py:546 #, python-format msgid "" "You cannot modify Company of account as its related record exist in Entry " @@ -6102,9 +6105,9 @@ msgid "Optional create" msgstr "Criação opcional" #. module: account -#: code:addons/account/invoice.py:406 -#: code:addons/account/invoice.py:506 -#: code:addons/account/invoice.py:1348 +#: code:addons/account/invoice.py:409 +#: code:addons/account/invoice.py:509 +#: code:addons/account/invoice.py:1362 #, python-format msgid "Can not find account chart for this company, Please Create account." msgstr "" @@ -6257,8 +6260,8 @@ msgid "Analytic Entries Statistics" msgstr "Estatísticas de Lançamentos Analíticos" #. module: account -#: code:addons/account/account_analytic_line.py:143 -#: code:addons/account/account_move_line.py:905 +#: code:addons/account/account_analytic_line.py:141 +#: code:addons/account/account_move_line.py:897 #, python-format msgid "Entries: " msgstr "Lancamentos: " @@ -6269,7 +6272,7 @@ msgid "Create manual recurring entries in a chosen journal." msgstr "Criar lançamentos recorrentes manuais no diário escolhido." #. module: account -#: code:addons/account/account.py:1393 +#: code:addons/account/account.py:1407 #, python-format msgid "Couldn't create move between different companies" msgstr "Não foi possível criar movimentação entre empresas diferentes" @@ -6316,7 +6319,7 @@ msgid "Total debit" msgstr "Débito Total" #. module: account -#: code:addons/account/account_move_line.py:781 +#: code:addons/account/account_move_line.py:772 #, python-format msgid "Entry \"%s\" is not valid !" msgstr "Lançamento \"%s\" não é válido" @@ -6386,30 +6389,31 @@ msgid " valuation: percent" msgstr " valorização: porcentagem" #. module: account -#: code:addons/account/account.py:499 -#: code:addons/account/account.py:501 -#: code:addons/account/account.py:822 -#: code:addons/account/account.py:901 -#: code:addons/account/account.py:976 -#: code:addons/account/account.py:1204 -#: code:addons/account/account.py:1210 -#: code:addons/account/account.py:2095 -#: code:addons/account/account.py:2333 -#: code:addons/account/account_analytic_line.py:90 -#: code:addons/account/account_analytic_line.py:99 +#: code:addons/account/account.py:509 +#: code:addons/account/account.py:511 +#: code:addons/account/account.py:836 +#: code:addons/account/account.py:915 +#: code:addons/account/account.py:990 +#: code:addons/account/account.py:1218 +#: code:addons/account/account.py:1224 +#: code:addons/account/account.py:2109 +#: code:addons/account/account.py:2357 +#: code:addons/account/account_analytic_line.py:89 +#: code:addons/account/account_analytic_line.py:98 #: code:addons/account/account_bank_statement.py:292 #: code:addons/account/account_bank_statement.py:305 #: code:addons/account/account_bank_statement.py:345 -#: code:addons/account/account_cash_statement.py:328 -#: code:addons/account/account_cash_statement.py:348 -#: code:addons/account/account_move_line.py:1176 -#: code:addons/account/account_move_line.py:1191 -#: code:addons/account/account_move_line.py:1193 -#: code:addons/account/invoice.py:785 -#: code:addons/account/invoice.py:815 -#: code:addons/account/invoice.py:1008 +#: code:addons/account/account_cash_statement.py:329 +#: code:addons/account/account_cash_statement.py:349 +#: code:addons/account/account_move_line.py:1182 +#: code:addons/account/account_move_line.py:1197 +#: code:addons/account/account_move_line.py:1199 +#: code:addons/account/invoice.py:793 +#: code:addons/account/invoice.py:823 +#: code:addons/account/invoice.py:1014 #: code:addons/account/wizard/account_invoice_refund.py:100 #: code:addons/account/wizard/account_invoice_refund.py:102 +#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40 #: code:addons/account/wizard/account_use_model.py:44 #, python-format msgid "Error !" @@ -6529,7 +6533,7 @@ msgid "Journal Select" msgstr "Selecionar Diário" #. module: account -#: code:addons/account/wizard/account_change_currency.py:65 +#: code:addons/account/wizard/account_change_currency.py:64 #, python-format msgid "Currnt currency is not confirured properly !" msgstr "A moeda atual não está configurada corretamente !" @@ -6546,9 +6550,11 @@ msgstr "Posição Fiscal dos Impostos" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: view:account.report.general.ledger:0 #: model:ir.actions.act_window,name:account.action_account_general_ledger_menu #: model:ir.actions.report.xml,name:account.account_general_ledger +#: model:ir.actions.report.xml,name:account.account_general_ledger_landscape #: model:ir.ui.menu,name:account.menu_general_ledger msgid "General Ledger" msgstr "Livro Razão" @@ -6609,7 +6615,7 @@ msgid "Total:" msgstr "Total:" #. module: account -#: code:addons/account/account.py:2050 +#: code:addons/account/account.py:2064 #, python-format msgid "" "You can specify year, month and date in the name of the model using the " @@ -6646,7 +6652,7 @@ msgid "Child Codes" msgstr "Códigos derivados (sub-contas)" #. module: account -#: code:addons/account/invoice.py:473 +#: code:addons/account/invoice.py:476 #: code:addons/account/wizard/account_invoice_refund.py:137 #, python-format msgid "Data Insufficient !" @@ -6830,7 +6836,7 @@ msgid "Lines" msgstr "Linhas" #. module: account -#: code:addons/account/invoice.py:521 +#: code:addons/account/invoice.py:524 #, python-format msgid "" "Can not find account chart for this company in invoice line account, Please " @@ -7031,7 +7037,7 @@ msgstr "" "personalizado." #. module: account -#: code:addons/account/account.py:938 +#: code:addons/account/account.py:952 #, python-format msgid "You should have chosen periods that belongs to the same company" msgstr "Você deveria ter escolhido períodos que pertencem a mesma empresa" @@ -7145,7 +7151,7 @@ msgid "Sign on Reports" msgstr "Assinar relatórios" #. module: account -#: code:addons/account/account_cash_statement.py:249 +#: code:addons/account/account_cash_statement.py:250 #, python-format msgid "You can not have two open register for the same journal" msgstr "Você não pode ter dois registradores abertos para o mesmo diário" @@ -7180,7 +7186,6 @@ msgstr "" #. module: account #: report:account.invoice:0 #: view:account.invoice:0 -#: report:account.move.voucher:0 msgid "PRO-FORMA" msgstr "Pro-forma" @@ -7212,6 +7217,7 @@ msgstr "Informação Opcional" #. 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 @@ -7239,13 +7245,13 @@ msgstr "" "Você pode colocar data limite para o pagamento desta linha." #. module: account -#: code:addons/account/account_move_line.py:1271 +#: code:addons/account/account_move_line.py:1277 #, python-format msgid "Bad account !" msgstr "Conta errada!" #. module: account -#: code:addons/account/account.py:2777 +#: code:addons/account/account.py:2821 #: code:addons/account/installer.py:432 #, python-format msgid "Sales Journal" @@ -7263,7 +7269,7 @@ msgid "Invoice Tax" msgstr "Taxa de fatura" #. module: account -#: code:addons/account/account_move_line.py:1246 +#: code:addons/account/account_move_line.py:1252 #, python-format msgid "No piece number !" msgstr "Nenhum número da parte!" @@ -7510,17 +7516,17 @@ msgid "Fixed" msgstr "Fixo" #. module: account -#: code:addons/account/account.py:506 -#: code:addons/account/account.py:519 -#: code:addons/account/account.py:522 +#: code:addons/account/account.py:516 +#: code:addons/account/account.py:529 #: code:addons/account/account.py:532 -#: code:addons/account/account.py:640 -#: code:addons/account/account.py:927 -#: code:addons/account/account_move_line.py:732 -#: code:addons/account/account_move_line.py:776 -#: code:addons/account/invoice.py:714 -#: code:addons/account/invoice.py:717 -#: code:addons/account/invoice.py:720 +#: code:addons/account/account.py:546 +#: code:addons/account/account.py:654 +#: code:addons/account/account.py:941 +#: code:addons/account/account_move_line.py:723 +#: code:addons/account/account_move_line.py:767 +#: code:addons/account/invoice.py:722 +#: code:addons/account/invoice.py:725 +#: code:addons/account/invoice.py:728 #, python-format msgid "Warning !" msgstr "Atenção !" @@ -7552,6 +7558,7 @@ msgstr "Valor (por extenso) :" #: view:account.entries.report:0 #: field:account.entries.report,partner_id:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: view:account.invoice:0 #: field:account.invoice,partner_id:0 #: field:account.invoice.line,partner_id:0 @@ -7582,7 +7589,7 @@ msgid "Can not %s draft/proforma/cancel invoice." msgstr "Não pode %s provisório/proforma/cancelar fatura." #. module: account -#: code:addons/account/invoice.py:787 +#: code:addons/account/invoice.py:795 #, python-format msgid "No Invoice Lines !" msgstr "Sem Linhas na Fatura !" @@ -7631,7 +7638,7 @@ msgid "Deferral Method" msgstr "Método para deferimento" #. module: account -#: code:addons/account/invoice.py:359 +#: code:addons/account/invoice.py:360 #, python-format msgid "Invoice '%s' is paid." msgstr "A Fatura '%s' está paga." @@ -7696,7 +7703,7 @@ msgid "Associated Partner" msgstr "Parceiro Associado" #. module: account -#: code:addons/account/invoice.py:1284 +#: code:addons/account/invoice.py:1298 #, python-format msgid "You must first select a partner !" msgstr "Voce precisa selecionar um parceiro primeiro !" @@ -7766,7 +7773,7 @@ msgid "Choose Fiscal Year" msgstr "Escolha o Ano Fiscal" #. module: account -#: code:addons/account/account.py:2841 +#: code:addons/account/account.py:2885 #: code:addons/account/installer.py:495 #, python-format msgid "Purchase Refund Journal" @@ -7804,6 +7811,7 @@ msgstr "Gestão Financeira e Contábil" #: view:account.entries.report:0 #: field:account.entries.report,period_id:0 #: view:account.fiscalyear:0 +#: report:account.general.ledger_landscape:0 #: view:account.invoice:0 #: view:account.invoice.report:0 #: field:account.journal.period,period_id:0 @@ -7983,7 +7991,7 @@ msgid "Account Types" msgstr "Tipos de Conta" #. module: account -#: code:addons/account/invoice.py:897 +#: code:addons/account/invoice.py:905 #, python-format msgid "Cannot create invoice move on centralised journal" msgstr "Não é possível criar um movimento de fatura no diário centralizado" @@ -8033,6 +8041,7 @@ msgstr "Diário de Devolução" #: report:account.account.balance:0 #: report:account.central.journal:0 #: report:account.general.journal:0 +#: report:account.general.ledger_landscape:0 #: report:account.partner.balance:0 msgid "Filter By" msgstr "Filtrar Por" @@ -8075,7 +8084,7 @@ msgid "Payment Term Line" msgstr "Linha da forma de pagamento" #. module: account -#: code:addons/account/account.py:2794 +#: code:addons/account/account.py:2838 #: code:addons/account/installer.py:452 #, python-format msgid "Purchase Journal" @@ -8247,8 +8256,8 @@ msgstr "" "O valor do recibo deve ser o mesmo valor da linha equivalente no extrato" #. module: account -#: code:addons/account/account_move_line.py:1131 -#: code:addons/account/account_move_line.py:1214 +#: code:addons/account/account_move_line.py:1137 +#: code:addons/account/account_move_line.py:1220 #, python-format msgid "Bad account!" msgstr "Conta inválida!" @@ -8259,7 +8268,7 @@ msgid "Keep empty for all open fiscal years" msgstr "Deixe vazio para todos os anos fiscais abertos" #. module: account -#: code:addons/account/account_move_line.py:1056 +#: code:addons/account/account_move_line.py:1062 #, python-format msgid "The account move (%s) for centralisation has been confirmed!" msgstr "O movimento de conta (%s) para centralização foi confirmado!" @@ -8282,6 +8291,7 @@ msgstr "" #: field:account.entries.report,currency_id:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.invoice,currency_id:0 #: field:account.invoice.report,currency_id:0 #: field:account.journal,currency:0 @@ -8479,14 +8489,14 @@ msgid "Period from" msgstr "Período de" #. module: account -#: code:addons/account/account.py:2817 +#: code:addons/account/account.py:2861 #: code:addons/account/installer.py:476 #, python-format msgid "Sales Refund Journal" msgstr "Diário de Devolução de Vendas" #. module: account -#: code:addons/account/account.py:927 +#: code:addons/account/account.py:941 #, python-format msgid "" "You cannot modify company of this period as its related record exist in " @@ -8537,7 +8547,7 @@ msgid "Purchase Tax(%)" msgstr "Imposto de Compra(%)" #. module: account -#: code:addons/account/invoice.py:787 +#: code:addons/account/invoice.py:795 #, python-format msgid "Please create some invoice lines." msgstr "Por favor, crie algumas linhas da fatura." @@ -8553,7 +8563,7 @@ msgid "Configure Your Accounting Application" msgstr "Configure sua Aplicação Contábil" #. module: account -#: code:addons/account/account.py:2820 +#: code:addons/account/account.py:2864 #: code:addons/account/installer.py:479 #, python-format msgid "SCNJ" @@ -8597,6 +8607,7 @@ msgstr "Gestão de Acompanhamentos" #: report:account.central.journal:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 #: report:account.third_party_ledger:0 @@ -8606,7 +8617,7 @@ msgid "Start Period" msgstr "Período Inicial" #. module: account -#: code:addons/account/account.py:2333 +#: code:addons/account/account.py:2357 #, python-format msgid "Cannot locate parent code for template account!" msgstr "Impossível localizar o código da conta pai para o modelo de conta!" @@ -8643,7 +8654,7 @@ msgid "Accountant validates the accounting entries coming from the invoice. " msgstr "O Contador valida os lançamentos contábeis vindos da fatura. " #. module: account -#: code:addons/account/invoice.py:1008 +#: code:addons/account/invoice.py:1014 #, python-format msgid "" "You cannot cancel the Invoice which is Partially Paid! You need to " @@ -8673,7 +8684,7 @@ msgid "You can not create move line on view account." msgstr "Você não pode criar linhas de movimento em uma conta de exibição." #. module: account -#: code:addons/account/wizard/account_change_currency.py:71 +#: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not confirured properly !" msgstr "A moeda atual não está configurada corretamente !" @@ -8726,6 +8737,7 @@ msgstr "Manter vazio para usar a conta de receita" #: field:account.entries.report,balance:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.move.line,balance:0 #: report:account.partner.balance:0 #: selection:account.payment.term.line,value:0 @@ -8744,6 +8756,7 @@ msgstr "Entrada manual ou automática no sistema" #. module: account #: report:account.account.balance:0 +#: report:account.general.ledger_landscape:0 msgid "Display Account" msgstr "Mostrar Conta" @@ -8870,6 +8883,7 @@ msgstr "Lançamento manual" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.move.line,move_id:0 #: field:analytic.entries.report,move_id:0 @@ -8877,7 +8891,7 @@ msgid "Move" msgstr "Movimento" #. module: account -#: code:addons/account/account_move_line.py:1128 +#: code:addons/account/account_move_line.py:1134 #, python-format msgid "You can not change the tax, you should remove and recreate lines !" msgstr "" @@ -8976,6 +8990,7 @@ msgstr "Balanço de Conta Analítica" #: report:account.central.journal:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 #: report:account.third_party_ledger:0 @@ -9019,7 +9034,7 @@ msgid "Account Subscription" msgstr "Inscriçãoda conta" #. module: account -#: code:addons/account/invoice.py:717 +#: code:addons/account/invoice.py:725 #, python-format msgid "" "Tax base different !\n" @@ -9048,6 +9063,7 @@ msgstr "Inscrição de Lançamento" #: report:account.general.journal:0 #: field:account.general.journal,date_from:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.installer,date_start:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -9076,7 +9092,7 @@ msgid "Unreconciled" msgstr "Não conciliado" #. module: account -#: code:addons/account/invoice.py:804 +#: code:addons/account/invoice.py:812 #, python-format msgid "Bad total !" msgstr "Total inválido!" @@ -9134,13 +9150,13 @@ msgid "Active" msgstr "Ativo" #. module: account -#: code:addons/account/invoice.py:354 +#: code:addons/account/invoice.py:353 #, python-format msgid "Unknown Error" msgstr "Erro Desconhecido" #. module: account -#: code:addons/account/account.py:1167 +#: code:addons/account/account.py:1181 #, python-format msgid "" "You cannot validate a non-balanced entry !\n" @@ -9188,10 +9204,10 @@ msgstr "Validar Movimento de Conta" #: field:account.entries.report,credit:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.model.line,credit:0 #: field:account.move.line,credit:0 -#: report:account.move.voucher:0 #: report:account.partner.balance:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 @@ -9441,7 +9457,6 @@ msgstr "Selecione o período" #: view:account.move:0 #: selection:account.move,state:0 #: view:account.move.line:0 -#: report:account.move.voucher:0 msgid "Posted" msgstr "Postado" @@ -9460,6 +9475,7 @@ msgstr "Postado" #: report:account.general.journal:0 #: field:account.general.journal,date_to:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.installer,date_stop:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -9513,7 +9529,7 @@ msgid "This is a model for recurring accounting entries" msgstr "Este é um modelo para lançamentos recorrentes de contabilização" #. module: account -#: code:addons/account/account_analytic_line.py:100 +#: code:addons/account/account_analytic_line.py:99 #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)" msgstr "Não há conta de entrada definida para este produto:\"%s\" (id:%d)" @@ -9668,8 +9684,8 @@ msgid "End period" msgstr "Período final" #. module: account -#: code:addons/account/account_move_line.py:738 -#: code:addons/account/account_move_line.py:815 +#: code:addons/account/account_move_line.py:729 +#: code:addons/account/account_move_line.py:806 #: code:addons/account/wizard/account_invoice_state.py:44 #: code:addons/account/wizard/account_invoice_state.py:68 #: code:addons/account/wizard/account_report_balance_sheet.py:70 @@ -9735,10 +9751,10 @@ msgstr "Fatura do fornecedor" #: field:account.entries.report,debit:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.model.line,debit:0 #: field:account.move.line,debit:0 -#: report:account.move.voucher:0 #: report:account.partner.balance:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 @@ -9775,7 +9791,7 @@ msgid "Recurring" msgstr "Recorrente" #. module: account -#: code:addons/account/account_move_line.py:805 +#: code:addons/account/account_move_line.py:796 #, python-format msgid "Entry is already reconciled" msgstr "Este lançamento já está conciliado" @@ -9796,7 +9812,7 @@ msgid "Range" msgstr "Intervalo" #. module: account -#: code:addons/account/account_move_line.py:1246 +#: code:addons/account/account_move_line.py:1252 #, python-format msgid "" "Can not create an automatic sequence for this piece !\n" @@ -9936,7 +9952,7 @@ msgid "Accounts Mapping" msgstr "Mapeando contas" #. module: account -#: code:addons/account/invoice.py:346 +#: code:addons/account/invoice.py:345 #, python-format msgid "Invoice '%s' is waiting for validation." msgstr "A fatura '%s' está aguardando validação." @@ -9961,7 +9977,7 @@ msgid "The income or expense account related to the selected product." msgstr "A conta de receita ou despesa relacionada ao produto selecionado." #. module: account -#: code:addons/account/account_move_line.py:1117 +#: code:addons/account/account_move_line.py:1123 #, python-format msgid "The date of your Journal Entry is not in the defined period!" msgstr "A data do seu Lançamento de Diário não está no período definido!" @@ -10168,7 +10184,7 @@ msgid "You must enter a period length that cannot be 0 or below !" msgstr "Você deve digitar um período que não seja 0 ou menor !" #. module: account -#: code:addons/account/account.py:501 +#: code:addons/account/account.py:511 #, python-format msgid "You cannot remove an account which has account entries!. " msgstr "Você não pode remover uma conta que contém lançamentos! " @@ -10253,6 +10269,14 @@ msgstr "" #~ msgid "x Checks Journal" #~ msgstr "x Conferências diárias" +#, python-format +#~ msgid "" +#~ "No period defined for this date !\n" +#~ "Please create a fiscal year." +#~ msgstr "" +#~ "Nenhum período definido para esta data !\n" +#~ "Por favor crie um ano fiscal." + #~ msgid "Account No." #~ msgstr "Conta nro." @@ -10412,6 +10436,26 @@ msgstr "" #~ "Indica se o imposto deve ser incluído na base de cálculo para calcular os " #~ "próximos impostos." +#, python-format +#~ msgid "" +#~ "You can specify year, month and date in the name of the model using the " +#~ "following labels:\n" +#~ "\n" +#~ "%(year)s : To Specify Year \n" +#~ "%(month)s : To Specify Month \n" +#~ "%(date)s : Current Date\n" +#~ "\n" +#~ "e.g. My model on %(date)s" +#~ msgstr "" +#~ "Você pode especificar o ano, mês e data no nome do modelo usando as " +#~ "seguintes expressões:\n" +#~ "\n" +#~ "%(year)s : Para especificar o Ano \n" +#~ "%(month)s : Para especificar o Mês \n" +#~ "%(date)s : Data corrente\n" +#~ "\n" +#~ "ex: Meu modelo em %(date)s" + #~ msgid "Journal - Period" #~ msgstr "Dario - Período" @@ -11744,3 +11788,7 @@ msgstr "" #, python-format #~ msgid "is validated." #~ msgstr "está validada." + +#, python-format +#~ msgid "Date not in a defined fiscal year" +#~ msgstr "A data não está em um ano fiscal definido" diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index 19544fb613b..a76da12910a 100644 --- a/addons/account/i18n/zh_CN.po +++ b/addons/account/i18n/zh_CN.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: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2011-02-03 07:35+0000\n" +"PO-Revision-Date: 2011-07-02 15:26+0000\n" "Last-Translator: Wei \"oldrev\" Li \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-04-29 05:14+0000\n" -"X-Generator: Launchpad (build 12758)\n" +"X-Launchpad-Export-Date: 2011-07-03 04:46+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -33,7 +33,7 @@ msgid "No End of year journal defined for the fiscal year" msgstr "此财务年度没有定义年终日记账" #. module: account -#: code:addons/account/account.py:506 +#: code:addons/account/account.py:516 #, python-format msgid "" "You cannot remove/deactivate an account which is set as a property to any " @@ -65,7 +65,7 @@ msgid "Residual" msgstr "剩余的" #. module: account -#: code:addons/account/invoice.py:785 +#: code:addons/account/invoice.py:793 #, python-format msgid "Please define sequence on invoice journal" msgstr "请为发票日记账对应序列" @@ -110,7 +110,7 @@ msgstr "从发票或支付凭证导入" #. module: account #: model:ir.model,name:account.model_wizard_multi_charts_accounts msgid "wizard.multi.charts.accounts" -msgstr "wizard.multi.charts.accounts" +msgstr "多科目图表向导" #. module: account #: view:account.move:0 @@ -122,7 +122,7 @@ msgstr "借方合计" msgid "" "If you unreconciliate transactions, you must also verify all the actions " "that are linked to those transactions because they will not be disabled" -msgstr "" +msgstr "如果您用非关联交易,您还必须验证所有链接到这些交易行动,因为他们不会被禁用" #. module: account #: report:account.tax.code.entries:0 @@ -130,7 +130,7 @@ msgid "Accounting Entries-" msgstr "会计分录" #. module: account -#: code:addons/account/account.py:1291 +#: code:addons/account/account.py:1305 #, python-format msgid "You can not delete posted movement: \"%s\"!" msgstr "不能删除已登账的凭证行:\"%s\"!" @@ -171,10 +171,10 @@ msgstr "选择会计年度 " msgid "" "If the active field is set to False, it will allow you to hide the payment " "term without removing it." -msgstr "" +msgstr "如果设置为false,该付款条款将会被隐藏。" #. module: account -#: code:addons/account/invoice.py:1421 +#: code:addons/account/invoice.py:1436 #, python-format msgid "Warning!" msgstr "警告!" @@ -212,7 +212,7 @@ msgid "" "Gives the type of the analytic journal. When it needs for a document (eg: an " "invoice) to create analytic entries, OpenERP will look for a matching " "journal of the same type." -msgstr "" +msgstr "给出了分析报表类型。当一个文件(如:发票),需要创建解析条目,OpenERP将寻找一个相同类型的匹配杂志。" #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_template_form @@ -223,10 +223,10 @@ msgstr "税模板" #. module: account #: model:ir.model,name:account.model_account_tax msgid "account.tax" -msgstr "科目.税" +msgstr "税科目" #. module: account -#: code:addons/account/account.py:901 +#: code:addons/account/account.py:915 #, python-format msgid "" "No period defined for this date: %s !\n" @@ -238,7 +238,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_move_line_reconcile_select msgid "Move line reconcile select" -msgstr "" +msgstr "选择核销行" #. module: account #: help:account.model.line,sequence:0 @@ -256,15 +256,15 @@ msgid "" msgstr "勾选此项使发票上不显示增值税" #. module: account -#: code:addons/account/invoice.py:1210 +#: code:addons/account/invoice.py:1224 #, python-format msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)" -msgstr "" +msgstr "发票'%s'已部分支付了%s%s ,总金额为:%s%s, 尚余%s%s未付" #. module: account #: model:process.transition,note:account.process_transition_supplierentriesreconcile0 msgid "Accounting entries are an input of the reconciliation." -msgstr "" +msgstr "会计分录必须借贷相等" #. module: account #: model:ir.ui.menu,name:account.menu_finance_management_belgian_reports @@ -272,7 +272,7 @@ msgid "Belgian Reports" msgstr "比利时报表" #. module: account -#: code:addons/account/account_move_line.py:1176 +#: code:addons/account/account_move_line.py:1182 #, python-format msgid "You can not add/modify entries in a closed journal." msgstr "不能添加/修改已结帐的凭证" @@ -280,7 +280,7 @@ msgstr "不能添加/修改已结帐的凭证" #. module: account #: view:account.bank.statement:0 msgid "Calculated Balance" -msgstr "" +msgstr "计算余额" #. module: account #: model:ir.actions.act_window,name:account.action_account_use_model_create_entry @@ -310,7 +310,7 @@ msgid "St." msgstr "结单编码" #. module: account -#: code:addons/account/invoice.py:529 +#: code:addons/account/invoice.py:532 #, python-format msgid "Invoice line account company does not match with invoice company." msgstr "发票明细的科目公司与发票头的公司不匹配。" @@ -325,7 +325,7 @@ msgstr "字段名" msgid "" "Installs localized accounting charts to match as closely as possible the " "accounting needs of your company based on your country." -msgstr "" +msgstr "安装本地化财务系统以尽可能的适应本国的财务要求" #. module: account #: code:addons/account/wizard/account_move_journal.py:63 @@ -335,12 +335,12 @@ msgid "" "\n" "You can create one in the menu: \n" "Configuration/Financial Accounting/Accounts/Journals." -msgstr "" +msgstr "无法找到针对该公司%s类型的分类账簿" #. module: account #: model:ir.model,name:account.model_account_unreconcile msgid "Account Unreconcile" -msgstr "" +msgstr "科目反核销" #. module: account #: view:product.product:0 @@ -352,7 +352,7 @@ msgstr "采购属性" #: view:account.installer:0 #: view:account.installer.modules:0 msgid "Configure" -msgstr "" +msgstr "设置" #. module: account #: selection:account.entries.report,month:0 @@ -370,11 +370,12 @@ msgid "" "OpenERP. Journal items are created by OpenERP if you use Bank Statements, " "Cash Registers, or Customer/Supplier payments." msgstr "" +"本界面供财务人员在OpenERP中批量录入凭证之用。如果你在OpenERP使用银行对帐单,收银机,或者客户/供应商付款, 相应的分录会由系统自动产生。" #. module: account #: model:ir.model,name:account.model_account_tax_template msgid "account.tax.template" -msgstr "" +msgstr "account.tax.template" #. module: account #: model:ir.model,name:account.model_account_bank_accounts_wizard @@ -390,7 +391,7 @@ msgstr "建立日期" #. module: account #: selection:account.journal,type:0 msgid "Purchase Refund" -msgstr "" +msgstr "采购退款" #. module: account #: selection:account.journal,type:0 @@ -412,7 +413,7 @@ msgstr "打开会计年度" msgid "" "This field contains the informatin related to the numbering of the journal " "entries of this journal." -msgstr "" +msgstr "该字段包含该分类账簿记录数量的信息" #. module: account #: field:account.journal,default_debit_account_id:0 @@ -462,6 +463,7 @@ msgid "" "amount of each area of the tax declaration for your country. It’s presented " "in a hierarchical structure, which can be modified to fit your needs." msgstr "" +"税务表是一个树状视图,反映了税务结构,并显示当前的纳税情况。税务表反映了国家规定的不同纳税领域的纳税申报数量情况。其设置为一个层次结构,请根据需要修改。" #. module: account #: view:account.analytic.line:0 @@ -500,17 +502,17 @@ msgstr "业务类型" #. module: account #: model:ir.model,name:account.model_account_invoice_confirm msgid "Confirm the selected invoices" -msgstr "" +msgstr "确认选定的发票" #. module: account #: field:account.addtmpl.wizard,cparent_id:0 msgid "Parent target" -msgstr "" +msgstr "上级目标" #. module: account #: field:account.bank.statement,account_id:0 msgid "Account used in this journal" -msgstr "" +msgstr "这个分类账簿上的科目" #. module: account #: help:account.aged.trial.balance,chart_account_id:0 @@ -529,7 +531,7 @@ msgstr "" #: help:account.report.general.ledger,chart_account_id:0 #: help:account.vat.declaration,chart_account_id:0 msgid "Select Charts of Accounts" -msgstr "" +msgstr "选择科目表" #. module: account #: view:product.product:0 @@ -539,7 +541,7 @@ msgstr "进项税" #. module: account #: model:ir.model,name:account.model_account_invoice_refund msgid "Invoice Refund" -msgstr "" +msgstr "发票退款" #. module: account #: report:account.overdue:0 @@ -552,10 +554,10 @@ msgid "Not reconciled transactions" msgstr "没核销的交易" #. module: account -#: code:addons/account/account_cash_statement.py:348 +#: code:addons/account/account_cash_statement.py:349 #, python-format msgid "CashBox Balance is not matching with Calculated Balance !" -msgstr "" +msgstr "出纳帐与现金不一致" #. module: account #: view:account.fiscal.position:0 @@ -589,12 +591,12 @@ msgstr "所有" #. module: account #: field:account.invoice.report,address_invoice_id:0 msgid "Invoice Address Name" -msgstr "" +msgstr "发票地址" #. module: account #: selection:account.installer,period:0 msgid "3 Monthly" -msgstr "" +msgstr "3个月" #. module: account #: view:account.unreconcile.reconcile:0 @@ -606,7 +608,7 @@ msgstr "如果执行反核销, 你必须检验链接该处理的所有操作. #. module: account #: view:analytic.entries.report:0 msgid " 30 Days " -msgstr "" +msgstr " 30 天 " #. module: account #: field:ir.sequence,fiscal_ids:0 @@ -626,7 +628,7 @@ msgstr "" #. module: account #: sql_constraint:account.sequence.fiscalyear:0 msgid "Main Sequence must be different from current !" -msgstr "" +msgstr "序列号必须唯一" #. module: account #: field:account.invoice.tax,tax_amount:0 @@ -634,7 +636,7 @@ msgid "Tax Code Amount" msgstr "税事务金额" #. module: account -#: code:addons/account/account.py:2779 +#: code:addons/account/account.py:2823 #: code:addons/account/installer.py:434 #, python-format msgid "SAJ" @@ -654,7 +656,7 @@ msgstr "关闭会计期间" #. module: account #: model:ir.model,name:account.model_account_common_partner_report msgid "Account Common Partner Report" -msgstr "" +msgstr "普通合伙人的科目报表" #. module: account #: field:account.fiscalyear.close,period_id:0 @@ -664,11 +666,11 @@ msgstr "会计期间的启用凭证" #. module: account #: model:ir.model,name:account.model_account_journal_period msgid "Journal Period" -msgstr "" +msgstr "明细帐期间" #. module: account -#: code:addons/account/account_move_line.py:732 -#: code:addons/account/account_move_line.py:776 +#: code:addons/account/account_move_line.py:723 +#: code:addons/account/account_move_line.py:767 #, python-format msgid "To reconcile the entries company should be the same for all entries" msgstr "" @@ -688,7 +690,7 @@ msgstr "应收款科目" #. module: account #: model:ir.model,name:account.model_account_report_general_ledger msgid "General Ledger Report" -msgstr "" +msgstr "总账报表" #. module: account #: view:account.invoice:0 @@ -708,7 +710,7 @@ msgstr "" #. module: account #: field:account.partner.reconcile.process,today_reconciled:0 msgid "Partners Reconciled Today" -msgstr "" +msgstr "今天合作伙伴不开心" #. module: account #: selection:account.payment.term.line,value:0 @@ -726,13 +728,13 @@ msgstr "表" #: model:ir.model,name:account.model_project_account_analytic_line #, python-format msgid "Analytic Entries by line" -msgstr "" +msgstr "按行显示分析科目数据" #. module: account -#: code:addons/account/wizard/account_change_currency.py:39 +#: code:addons/account/wizard/account_change_currency.py:38 #, python-format msgid "You can only change currency for Draft Invoice !" -msgstr "" +msgstr "您只能更改发票草案金额!" #. module: account #: view:account.analytic.journal:0 @@ -769,17 +771,17 @@ msgstr "反核销" #. module: account #: model:ir.model,name:account.model_account_analytic_Journal_report msgid "Account Analytic Journal" -msgstr "" +msgstr "科目分析报表" #. module: account #: model:ir.model,name:account.model_account_automatic_reconcile msgid "Automatic Reconcile" -msgstr "" +msgstr "自己核销" #. module: account #: view:account.payment.term.line:0 msgid "Due date Computation" -msgstr "" +msgstr "计算截止日期" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -793,7 +795,7 @@ msgstr "成本业务类型/凭证名称" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "September" -msgstr "" +msgstr "9月" #. module: account #: selection:account.subscription,period_type:0 @@ -804,7 +806,7 @@ msgstr "天" #: help:account.account.template,nocreate:0 msgid "" "If checked, the new chart of accounts will not contain this by default." -msgstr "" +msgstr "如果选中,这一点的新报表科目将不包含在默认情况下。" #. module: account #: code:addons/account/wizard/account_invoice_refund.py:102 @@ -812,7 +814,7 @@ msgstr "" msgid "" "Can not %s invoice which is already reconciled, invoice should be " "unreconciled first. You can only Refund this invoice" -msgstr "" +msgstr "无法%s该发票,该发票已核销,除非先将其反核销。目前只能对该发票做退款处理" #. module: account #: model:ir.actions.act_window,name:account.action_subscription_form_new @@ -827,10 +829,10 @@ msgstr "计算" #. module: account #: view:account.move.line:0 msgid "Next Partner to reconcile" -msgstr "" +msgstr "与下一个合作伙伴对帐" #. module: account -#: code:addons/account/account_move_line.py:1191 +#: code:addons/account/account_move_line.py:1197 #, python-format msgid "" "You can not do this modification on a confirmed entry ! Please note that you " @@ -841,7 +843,7 @@ msgstr "您不能修改已确认的凭证!您只能修改一些非重要字段 #: view:account.invoice.report:0 #: field:account.invoice.report,delay_to_pay:0 msgid "Avg. Delay To Pay" -msgstr "" +msgstr "延迟付款平均时间" #. module: account #: model:ir.actions.act_window,name:account.action_account_tax_chart @@ -864,7 +866,7 @@ msgstr "到期" #: view:account.invoice.report:0 #: field:account.invoice.report,price_total_tax:0 msgid "Total With Tax" -msgstr "" +msgstr "总税单(纳税合计)" #. module: account #: view:account.invoice:0 @@ -872,7 +874,7 @@ msgstr "" #: view:validate.account.move:0 #: view:validate.account.move.lines:0 msgid "Approve" -msgstr "" +msgstr "核准" #. module: account #: view:account.invoice:0 @@ -894,22 +896,22 @@ msgstr "合并" #: view:account.invoice.report:0 #: view:account.move.line:0 msgid "Extended Filters..." -msgstr "" +msgstr "增加筛选条件" #. module: account #: model:ir.ui.menu,name:account.menu_account_central_journal msgid "Centralizing Journal" -msgstr "" +msgstr "合并报表" #. module: account #: selection:account.journal,type:0 msgid "Sale Refund" -msgstr "" +msgstr "销售退款(货)" #. module: account #: model:process.node,note:account.process_node_accountingstatemententries0 msgid "Bank statement" -msgstr "" +msgstr "银行对帐单" #. module: account #: field:account.analytic.line,move_id:0 @@ -927,7 +929,7 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Purchases" -msgstr "" +msgstr "采购单列表" #. module: account #: field:account.model,lines_id:0 @@ -952,11 +954,11 @@ msgid "Code" msgstr "代码" #. module: account -#: code:addons/account/account.py:2083 +#: code:addons/account/account.py:2097 #: code:addons/account/account_bank_statement.py:350 -#: code:addons/account/account_move_line.py:170 +#: code:addons/account/account_move_line.py:169 #: code:addons/account/invoice.py:73 -#: code:addons/account/invoice.py:670 +#: code:addons/account/invoice.py:678 #: code:addons/account/wizard/account_use_model.py:81 #, python-format msgid "No Analytic Journal !" @@ -974,13 +976,13 @@ msgstr "业务伙伴余额" #. module: account #: field:account.bank.accounts.wizard,acc_name:0 msgid "Account Name." -msgstr "" +msgstr "科目名称" #. module: account #: field:account.chart.template,property_reserve_and_surplus_account:0 #: field:res.company,property_reserve_and_surplus_account:0 msgid "Reserve and Profit/Loss Account" -msgstr "" +msgstr "所有者权益类科目" #. module: account #: field:report.account.receivable,name:0 @@ -997,12 +999,12 @@ msgstr "横向模式" #. module: account #: view:board.board:0 msgid "Customer Invoices to Approve" -msgstr "" +msgstr "客户发票审核" #. module: account #: help:account.fiscalyear.close,fy_id:0 msgid "Select a Fiscal year to close" -msgstr "" +msgstr "关闭一个财政年度" #. module: account #: help:account.account,user_type:0 @@ -1010,12 +1012,12 @@ msgstr "" msgid "" "These types are defined according to your country. The type contains more " "information about the account and its specificities." -msgstr "" +msgstr "根据你的国家定义这些类型,该类型包含有关科目及其具体的信息。" #. module: account #: view:account.tax:0 msgid "Applicability Options" -msgstr "" +msgstr "可选项" #. module: account #: report:account.partner.balance:0 @@ -1026,16 +1028,15 @@ msgstr "争议中" #: model:ir.actions.act_window,name:account.action_view_bank_statement_tree #: model:ir.ui.menu,name:account.journal_cash_move_lines msgid "Cash Registers" -msgstr "" +msgstr "出纳现金" #. module: account #: selection:account.account.type,report_type:0 msgid "Profit & Loss (Expense Accounts)" -msgstr "" +msgstr "损益表" #. module: account #: report:account.analytic.account.journal:0 -#: report:account.move.voucher:0 #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 msgid "-" @@ -1044,7 +1045,7 @@ msgstr "-" #. module: account #: view:account.analytic.account:0 msgid "Manager" -msgstr "" +msgstr "经理" #. module: account #: view:account.subscription.generate:0 @@ -1054,7 +1055,7 @@ msgstr "" #. module: account #: selection:account.bank.accounts.wizard,account_type:0 msgid "Bank" -msgstr "" +msgstr "银行" #. module: account #: field:account.period,date_start:0 @@ -1064,7 +1065,7 @@ msgstr "开始会计期间" #. module: account #: model:process.transition,name:account.process_transition_confirmstatementfromdraft0 msgid "Confirm statement" -msgstr "" +msgstr "确认报表" #. module: account #: field:account.fiscal.position.tax,tax_dest_id:0 @@ -1085,11 +1086,12 @@ msgid "" "purchase orders or receipts. This way, you can control the invoice from your " "supplier according to what you purchased or received." msgstr "" +"供应商发票,您可以输入和管理你的供应商发出的发票。 OpenERP还可以自动生成草案从采购订单发票或收据。这样,您就可以控制从供应商的发票." #. module: account #: view:account.invoice.cancel:0 msgid "Cancel Invoices" -msgstr "" +msgstr "作废发票" #. module: account #: view:account.unreconcile.reconcile:0 @@ -1121,6 +1123,7 @@ msgstr "# 处理" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 @@ -1128,7 +1131,7 @@ msgid "Entry Label" msgstr "凭证标签" #. module: account -#: code:addons/account/account.py:976 +#: code:addons/account/account.py:990 #, python-format msgid "You can not modify/delete a journal with entries for this period !" msgstr "您不能修改/删除这业务类型和在此会计期间的凭证!" @@ -1175,19 +1178,19 @@ msgstr "科目" #. module: account #: field:account.tax,include_base_amount:0 msgid "Included in base amount" -msgstr "" +msgstr "含基数" #. module: account #: view:account.entries.report:0 #: model:ir.actions.act_window,name:account.action_account_entries_report_all #: model:ir.ui.menu,name:account.menu_action_account_entries_report_all msgid "Entries Analysis" -msgstr "" +msgstr "项目分析" #. module: account #: field:account.account,level:0 msgid "Level" -msgstr "" +msgstr "级别" #. module: account #: report:account.invoice:0 @@ -1208,7 +1211,7 @@ msgstr "税" #: code:addons/account/wizard/account_report_common.py:120 #, python-format msgid "Select a starting and an ending period" -msgstr "" +msgstr "选择一个开始和结束时间" #. module: account #: model:ir.model,name:account.model_account_account_template @@ -1218,12 +1221,12 @@ msgstr "科目模板" #. module: account #: view:account.tax.code.template:0 msgid "Search tax template" -msgstr "" +msgstr "搜索税模板" #. module: account #: report:account.invoice:0 msgid "Your Reference" -msgstr "" +msgstr "你的关联单号" #. module: account #: view:account.move.reconcile:0 @@ -1242,12 +1245,12 @@ msgstr "逾期付款" #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 msgid "Initial Balance" -msgstr "" +msgstr "期初余额" #. module: account #: view:account.invoice:0 msgid "Reset to Draft" -msgstr "" +msgstr "重置为草稿" #. module: account #: view:wizard.multi.charts.accounts:0 @@ -1263,13 +1266,12 @@ msgstr "报表选项" #. module: account #: model:ir.model,name:account.model_account_entries_report msgid "Journal Items Analysis" -msgstr "" +msgstr "日记帐明细分析" #. module: account -#: model:ir.actions.act_window,name:account.action_partner_all #: model:ir.ui.menu,name:account.next_id_22 msgid "Partners" -msgstr "" +msgstr "业务伙伴列表" #. module: account #: view:account.bank.statement:0 @@ -1296,7 +1298,7 @@ msgid "Central Journal" msgstr "主要的业务类型" #. module: account -#: code:addons/account/account_move_line.py:1271 +#: code:addons/account/account_move_line.py:1277 #, python-format msgid "You can not use this general account in this journal !" msgstr "在这业务类型您不能用这科目!" @@ -1314,7 +1316,7 @@ msgstr "余额不为0" #. module: account #: view:account.tax:0 msgid "Search Taxes" -msgstr "" +msgstr "察找税种" #. module: account #: model:ir.model,name:account.model_account_analytic_cost_ledger @@ -1329,7 +1331,7 @@ msgstr "创建凭证" #. module: account #: field:account.entries.report,nbr:0 msgid "# of Items" -msgstr "" +msgstr "项目" #. module: account #: field:account.automatic.reconcile,max_amount:0 @@ -1349,13 +1351,13 @@ msgstr "数字 #" #. module: account #: field:account.journal,entry_posted:0 msgid "Skip 'Draft' State for Manual Entries" -msgstr "" +msgstr "如果是手工分录的话就跳过“草稿”状态" #. module: account #: view:account.invoice.report:0 #: field:account.invoice.report,price_total:0 msgid "Total Without Tax" -msgstr "" +msgstr "不含税总金额" #. module: account #: model:ir.actions.act_window,help:account.action_move_journal_line @@ -1369,12 +1371,12 @@ msgstr "" #. module: account #: view:account.entries.report:0 msgid "# of Entries " -msgstr "" +msgstr "号分录 " #. module: account #: model:ir.model,name:account.model_temp_range msgid "A Temporary table used for Dashboard view" -msgstr "" +msgstr "用于仪表盘视图的临时表" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree4 @@ -1386,10 +1388,10 @@ msgstr "供应商红字发票" #: view:account.payment.term.line:0 msgid "" "Example: at 14 net days 2 percents, remaining amount at 30 days end of month." -msgstr "" +msgstr "例如:在14天内付款减百分之2,30天则没有减。" #. module: account -#: code:addons/account/invoice.py:815 +#: code:addons/account/invoice.py:823 #, python-format msgid "" "Cannot create the invoice !\n" @@ -1400,7 +1402,7 @@ msgstr "" #. module: account #: field:account.installer.modules,account_anglo_saxon:0 msgid "Anglo-Saxon Accounting" -msgstr "" +msgstr "英国会计系统" #. module: account #: selection:account.account,type:0 @@ -1416,7 +1418,7 @@ msgstr "已关闭" #. module: account #: model:ir.ui.menu,name:account.menu_finance_recurrent_entries msgid "Recurring Entries" -msgstr "" +msgstr "经常性项目" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_template @@ -1426,7 +1428,7 @@ msgstr "财务结构模板" #. module: account #: model:account.tax.code,name:account.account_tax_code_0 msgid "Tax Code Test" -msgstr "" +msgstr "测试税代码" #. module: account #: field:account.automatic.reconcile,reconciled:0 @@ -1462,18 +1464,18 @@ msgstr "未完税" #. module: account #: view:account.partner.reconcile.process:0 msgid "Go to next partner" -msgstr "" +msgstr "下一个合作伙伴" #. module: account #: view:account.bank.statement:0 msgid "Search Bank Statements" -msgstr "" +msgstr "查阅银行对帐单" #. module: account #: sql_constraint:account.model.line:0 msgid "" "Wrong credit or debit value in model (Credit + Debit Must Be greater \"0\")!" -msgstr "" +msgstr "错误的现金或银行模型(信用+借方必须大于“0”)!" #. module: account #: view:account.chart.template:0 @@ -1502,12 +1504,12 @@ msgid "" "and the closing balance is to be found on your statement. When you are in " "the Payment column of a line, you can press F1 to open the reconciliation " "form." -msgstr "" +msgstr "银行对帐单是在一个给定的时间上的存款帐户发生的明细。当是你的一个网上交易清单,你可以按F1打开核销的形式。" #. module: account #: report:account.analytic.account.cost_ledger:0 msgid "Date/Code" -msgstr "" +msgstr "日期/代码" #. module: account #: field:account.analytic.line,general_account_id:0 @@ -1535,7 +1537,7 @@ msgstr "发票" #: model:process.node,note:account.process_node_analytic0 #: model:process.node,note:account.process_node_analyticcost0 msgid "Analytic costs to invoice" -msgstr "" +msgstr "开票成本分析" #. module: account #: view:ir.sequence:0 @@ -1548,10 +1550,9 @@ msgid "Separated Journal Sequences" msgstr "分散的业务类型序列" #. module: account -#: field:account.bank.statement,user_id:0 #: view:account.invoice:0 msgid "Responsible" -msgstr "" +msgstr "负责人" #. module: account #: report:account.overdue:0 @@ -1561,14 +1562,14 @@ msgstr "小计 :" #. module: account #: model:ir.actions.act_window,name:account.action_report_account_type_sales_tree_all msgid "Sales by Account Type" -msgstr "" +msgstr "销售科目类型" #. module: account #: view:account.invoice.refund:0 msgid "" "Cancel Invoice: Creates the refund invoice, validate and reconcile it to " "cancel the current invoice." -msgstr "" +msgstr "作废发票,退货发票,核销当前发票" #. module: account #: model:ir.ui.menu,name:account.periodical_processing_invoicing @@ -1594,12 +1595,12 @@ msgstr "年合计" #. module: account #: model:ir.actions.report.xml,name:account.report_account_voucher_new msgid "Print Voucher" -msgstr "" +msgstr "打印原始凭证" #. module: account #: view:account.change.currency:0 msgid "This wizard will change the currency of the invoice" -msgstr "" +msgstr "该向导将改变发票的币种" #. module: account #: model:ir.actions.act_window,help:account.action_account_chart @@ -1612,10 +1613,10 @@ msgstr "" #. module: account #: constraint:account.fiscalyear:0 msgid "Error! You cannot define overlapping fiscal years" -msgstr "" +msgstr "错误!你不能重复定义会计年度" #. module: account -#: code:addons/account/account_move_line.py:808 +#: code:addons/account/account_move_line.py:799 #, python-format msgid "The account is not defined to be reconciled !" msgstr "科目未设定为可核销!" @@ -1623,14 +1624,14 @@ msgstr "科目未设定为可核销!" #. module: account #: field:account.cashbox.line,pieces:0 msgid "Values" -msgstr "" +msgstr "值" #. module: account #: help:account.journal.period,active:0 msgid "" "If the active field is set to False, it will allow you to hide the journal " "period without removing it." -msgstr "" +msgstr "如果此字段设置为False,你可以让他隐藏而不删除它的报表。" #. module: account #: view:res.partner:0 @@ -1648,7 +1649,7 @@ msgid "Receivables & Payables" msgstr "应收&应付" #. module: account -#: code:addons/account/account_move_line.py:815 +#: code:addons/account/account_move_line.py:806 #, python-format msgid "You have to provide an account for the write off entry !" msgstr "必须为差异凭证指定默认借贷方科目" @@ -1656,17 +1657,17 @@ msgstr "必须为差异凭证指定默认借贷方科目" #. module: account #: model:ir.model,name:account.model_account_common_journal_report msgid "Account Common Journal Report" -msgstr "" +msgstr "科目常用报表" #. module: account #: selection:account.partner.balance,display_partner:0 msgid "All Partners" -msgstr "" +msgstr "所有合作伙伴" #. module: account #: report:account.move.voucher:0 msgid "Ref. :" -msgstr "" +msgstr "关联单号:" #. module: account #: view:account.analytic.chart:0 @@ -1676,7 +1677,7 @@ msgstr "辅助核算项目一览表" #. module: account #: view:account.analytic.line:0 msgid "My Entries" -msgstr "" +msgstr "我的工作区" #. module: account #: report:account.overdue:0 @@ -1684,7 +1685,7 @@ msgid "Customer Ref:" msgstr "客户关联:" #. module: account -#: code:addons/account/account_cash_statement.py:328 +#: code:addons/account/account_cash_statement.py:329 #, python-format msgid "User %s does not have rights to access %s journal !" msgstr "" @@ -1702,10 +1703,10 @@ msgstr "银行单据草稿" #. module: account #: view:account.tax:0 msgid "Tax Declaration: Credit Notes" -msgstr "" +msgstr "纳税申报:欠款" #. module: account -#: code:addons/account/account.py:499 +#: code:addons/account/account.py:509 #, python-format msgid "You cannot deactivate an account that contains account moves." msgstr "你不能停用这科目因为它有凭证" @@ -1718,10 +1719,10 @@ msgstr "贷方金额" #. module: account #: constraint:account.move.line:0 msgid "You can not create move line on closed account." -msgstr "" +msgstr "您不能在关闭的科目上建立分录。" #. module: account -#: code:addons/account/account.py:519 +#: code:addons/account/account.py:529 #, python-format msgid "" "You cannot change the type of account from 'Closed' to any other type which " @@ -1731,65 +1732,65 @@ msgstr "你不能改变包含\"已关闭\"科目类型的凭证!" #. module: account #: view:res.company:0 msgid "Reserve And Profit/Loss Account" -msgstr "" +msgstr "损益类科目" #. module: account #: sql_constraint:account.move.line:0 msgid "Wrong credit or debit value in accounting entry !" -msgstr "" +msgstr "错误的出纳会计分录" #. module: account #: view:account.invoice.report:0 #: model:ir.actions.act_window,name:account.action_account_invoice_report_all #: model:ir.ui.menu,name:account.menu_action_account_invoice_report_all msgid "Invoices Analysis" -msgstr "" +msgstr "开票分析" #. module: account #: model:ir.model,name:account.model_account_period_close msgid "period close" -msgstr "" +msgstr "关闭一个会计期间" #. module: account #: view:account.installer:0 msgid "Configure Fiscal Year" -msgstr "" +msgstr "配置会计年度" #. module: account #: model:ir.actions.act_window,name:account.action_project_account_analytic_line_form msgid "Entries By Line" -msgstr "" +msgstr "进行中的项目" #. module: account #: report:account.tax.code.entries:0 msgid "A/c Code" -msgstr "" +msgstr "A/c编码" #. module: account #: field:account.invoice,move_id:0 #: field:account.invoice,move_name:0 msgid "Journal Entry" -msgstr "" +msgstr "分类账" #. module: account #: view:account.tax:0 msgid "Tax Declaration: Invoices" -msgstr "" +msgstr "纳税申报:发票" #. module: account #: field:account.cashbox.line,subtotal:0 msgid "Sub Total" -msgstr "" +msgstr "小计" #. module: account #: view:account.account:0 msgid "Treasury Analysis" -msgstr "" +msgstr "出纳报表" #. module: account #: constraint:res.company:0 msgid "Error! You can not create recursive companies." -msgstr "" +msgstr "错误!您不能创建循环的公司。" #. module: account #: view:account.analytic.account:0 @@ -1812,12 +1813,12 @@ msgstr "生效" #: model:ir.actions.act_window,name:account.action_account_print_journal #: model:ir.model,name:account.model_account_print_journal msgid "Account Print Journal" -msgstr "" +msgstr "打印科目明细帐" #. module: account #: model:ir.model,name:account.model_product_category msgid "Product Category" -msgstr "" +msgstr "产品类别" #. module: account #: selection:account.account.type,report_type:0 @@ -1827,18 +1828,18 @@ msgstr "/" #. module: account #: field:account.bs.report,reserve_account_id:0 msgid "Reserve & Profit/Loss Account" -msgstr "" +msgstr "损益类科目" #. module: account #: help:account.bank.statement,balance_end:0 msgid "Closing balance based on Starting Balance and Cash Transactions" -msgstr "" +msgstr "关闭现金交易,出纳对帐" #. module: account #: model:process.node,note:account.process_node_reconciliation0 #: model:process.node,note:account.process_node_supplierreconciliation0 msgid "Comparison between accounting and payment entries" -msgstr "" +msgstr "比较会计和支付项目" #. module: account #: view:account.tax:0 @@ -1859,7 +1860,7 @@ msgstr "勾选此项, 如果你想每个新建的业务类型使用不同的序 msgid "" "It adds the currency column if the currency is different then the company " "currency" -msgstr "" +msgstr "此选项增加一个辅助核算币种,他会自动转为记帐本位币。" #. module: account #: help:account.journal,allow_date:0 @@ -1871,19 +1872,19 @@ msgstr "" #. module: account #: model:ir.actions.act_window,name:account.action_account_pl_report msgid "Account Profit And Loss" -msgstr "" +msgstr "帐户盈亏" #. module: account #: field:account.installer,config_logo:0 #: field:account.installer.modules,config_logo:0 #: field:wizard.multi.charts.accounts,config_logo:0 msgid "Image" -msgstr "" +msgstr "图像" #. module: account #: report:account.move.voucher:0 msgid "Canceled" -msgstr "" +msgstr "已作废" #. module: account #: view:account.invoice:0 @@ -1896,7 +1897,7 @@ msgstr "未完税金额" msgid "" "If the active field is set to False, it will allow you to hide the tax " "without removing it." -msgstr "" +msgstr "如果此字段设置为False,你可以让他隐藏而不删除它的税表。" #. module: account #: help:account.bank.statement,name:0 @@ -1932,7 +1933,7 @@ msgstr "打开凭证" #. module: account #: field:account.automatic.reconcile,account_ids:0 msgid "Accounts to Reconcile" -msgstr "" +msgstr "科目核销" #. module: account #: model:process.transition,note:account.process_transition_filestatement0 @@ -1942,7 +1943,7 @@ msgstr "" #. module: account #: model:process.node,name:account.process_node_importinvoice0 msgid "Import from invoice" -msgstr "" +msgstr "进口发票" #. module: account #: selection:account.entries.report,month:0 @@ -1951,7 +1952,7 @@ msgstr "" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "January" -msgstr "" +msgstr "一月" #. module: account #: view:account.journal:0 @@ -1961,12 +1962,12 @@ msgstr "" #. module: account #: view:account.entries.report:0 msgid "This F.Year" -msgstr "" +msgstr "本财年" #. module: account #: view:account.tax.chart:0 msgid "Account tax charts" -msgstr "" +msgstr "纳税明细表" #. module: account #: constraint:account.period:0 @@ -1987,10 +1988,10 @@ msgstr "形式发票" #: code:addons/account/installer.py:348 #, python-format msgid " Journal" -msgstr "" +msgstr " 日记帐" #. module: account -#: code:addons/account/account.py:1319 +#: code:addons/account/account.py:1333 #, python-format msgid "" "There is no default default debit account defined \n" @@ -2012,7 +2013,7 @@ msgstr "" #. module: account #: view:account.chart.template:0 msgid "Search Chart of Account Templates" -msgstr "" +msgstr "搜索图表科目模板" #. module: account #: view:account.installer:0 @@ -2042,7 +2043,7 @@ msgid "Description" msgstr "说明" #. module: account -#: code:addons/account/account.py:2844 +#: code:addons/account/account.py:2888 #: code:addons/account/installer.py:498 #, python-format msgid "ECNJ" @@ -2062,7 +2063,7 @@ msgid "Income Account" msgstr "收入科目" #. module: account -#: code:addons/account/invoice.py:352 +#: code:addons/account/invoice.py:351 #, python-format msgid "There is no Accounting Journal of type Sale/Purchase defined!" msgstr "没定义销售/采购业务类型!" @@ -2073,6 +2074,7 @@ msgid "Accounting Properties" msgstr "会计属性" #. module: account +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.print.journal,sort_selection:0 msgid "Entries Sorted By" @@ -2081,17 +2083,17 @@ msgstr "凭证排序按" #. module: account #: field:account.change.currency,currency_id:0 msgid "Change to" -msgstr "" +msgstr "更改为" #. module: account #: view:account.entries.report:0 msgid "# of Products Qty " -msgstr "" +msgstr "产品数量 " #. module: account #: model:ir.model,name:account.model_product_template msgid "Product Template" -msgstr "" +msgstr "产品模板" #. module: account #: report:account.account.balance:0 @@ -2101,6 +2103,7 @@ msgstr "" #: field:account.fiscalyear,name:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.journal.period,fiscalyear_id:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -2189,7 +2192,7 @@ msgstr "待处理" #: model:process.node,note:account.process_node_draftinvoices0 #: model:process.node,note:account.process_node_supplierdraftinvoices0 msgid "Draft state of an invoice" -msgstr "" +msgstr "草稿状态的发票" #. module: account #: help:account.account,reconcile:0 @@ -2200,7 +2203,7 @@ msgstr "勾选, 如果用户可以在这科目核销凭证." #. module: account #: view:account.partner.reconcile.process:0 msgid "Partner Reconciliation" -msgstr "" +msgstr "往来业务核销" #. module: account #: field:account.tax,tax_code_id:0 @@ -2209,7 +2212,7 @@ msgid "Account Tax Code" msgstr "税事务科目" #. module: account -#: code:addons/account/invoice.py:545 +#: code:addons/account/invoice.py:552 #, python-format msgid "" "Can't find any account journal of %s type for this company.\n" @@ -2227,7 +2230,7 @@ msgstr "基础税事务代码" #. module: account #: help:account.invoice.tax,sequence:0 msgid "Gives the sequence order when displaying a list of invoice tax." -msgstr "" +msgstr "按顺序显示发票税列表." #. module: account #: field:account.tax,base_sign:0 @@ -2257,7 +2260,7 @@ msgstr "借方汇总" #: view:account.invoice.confirm:0 #: model:ir.actions.act_window,name:account.action_account_invoice_confirm msgid "Confirm Draft Invoices" -msgstr "" +msgstr "草案确认发票" #. module: account #: field:account.entries.report,day:0 @@ -2266,12 +2269,12 @@ msgstr "" #: view:analytic.entries.report:0 #: field:analytic.entries.report,day:0 msgid "Day" -msgstr "" +msgstr "日" #. module: account #: model:ir.actions.act_window,name:account.act_account_renew_view msgid "Accounts to Renew" -msgstr "" +msgstr "延续科目有效期" #. module: account #: model:ir.model,name:account.model_account_model_line @@ -2279,11 +2282,11 @@ msgid "Account Model Entries" msgstr "凭证模板" #. module: account -#: code:addons/account/account.py:2796 +#: code:addons/account/account.py:2840 #: code:addons/account/installer.py:454 #, python-format msgid "EXJ" -msgstr "" +msgstr "EXJ" #. module: account #: field:product.template,supplier_taxes_id:0 @@ -2310,7 +2313,7 @@ msgstr "选择会计期间" #. module: account #: model:ir.ui.menu,name:account.menu_account_pp_statements msgid "Statements" -msgstr "" +msgstr "描述" #. module: account #: report:account.analytic.account.journal:0 @@ -2322,18 +2325,18 @@ msgstr "凭证名称" msgid "" "The fiscal position will determine taxes and the accounts used for the " "partner." -msgstr "" +msgstr "会计制度决定税的科目." #. module: account #: view:account.print.journal:0 msgid "" "This report gives you an overview of the situation of a specific journal" -msgstr "" +msgstr "这份报告是给你一个特定财务情况概述" #. module: account #: constraint:product.category:0 msgid "Error ! You can not create recursive categories." -msgstr "" +msgstr "错误!你不能创建递归的类型." #. module: account #: report:account.invoice:0 @@ -2362,10 +2365,10 @@ msgstr "辅助核算项目" #: model:ir.ui.menu,name:account.menu_action_account_form #: model:ir.ui.menu,name:account.menu_analytic msgid "Accounts" -msgstr "" +msgstr "科目" #. module: account -#: code:addons/account/invoice.py:351 +#: code:addons/account/invoice.py:350 #, python-format msgid "Configuration Error!" msgstr "设置错误!" @@ -2374,16 +2377,15 @@ msgstr "设置错误!" #: view:account.invoice.report:0 #: field:account.invoice.report,price_average:0 msgid "Average Price" -msgstr "" +msgstr "平均价格" #. module: account -#: report:account.move.voucher:0 #: report:account.overdue:0 msgid "Date:" msgstr "日期:" #. module: account -#: code:addons/account/account.py:640 +#: code:addons/account/account.py:654 #, python-format msgid "" "You cannot modify company of this journal as its related record exist in " @@ -2393,12 +2395,12 @@ msgstr "" #. module: account #: report:account.journal.period.print:0 msgid "Label" -msgstr "" +msgstr "标签" #. module: account #: view:account.tax:0 msgid "Accounting Information" -msgstr "" +msgstr "会计信息" #. module: account #: view:account.tax:0 @@ -2419,6 +2421,7 @@ msgstr "折扣(%)" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.overdue:0 #: report:account.third_party_ledger:0 @@ -2429,12 +2432,12 @@ msgstr "关联单号" #. module: account #: help:account.move.line,tax_code_id:0 msgid "The Account can either be a base tax code or a tax code account." -msgstr "" +msgstr "该科目可以是一个基本的税法或税法帐户。(如营业税)" #. module: account #: model:ir.ui.menu,name:account.menu_automatic_reconcile msgid "Automatic Reconciliation" -msgstr "" +msgstr "自动核销" #. module: account #: field:account.invoice,reconciled:0 @@ -2452,7 +2455,7 @@ msgstr "退税事务代码" #: model:ir.actions.act_window,name:account.action_bank_statement_tree #: model:ir.ui.menu,name:account.menu_bank_statement_tree msgid "Bank Statements" -msgstr "" +msgstr "银行对帐单" #. module: account #: selection:account.tax.template,applicable_type:0 @@ -2465,7 +2468,7 @@ msgstr "真" #: view:account.move:0 #: view:account.move.line:0 msgid "Dates" -msgstr "" +msgstr "日期" #. module: account #: field:account.tax,parent_id:0 @@ -2478,7 +2481,7 @@ msgstr "上级税科目" msgid "" "Automatically generate entries based on what has been entered in the system " "before a specific date." -msgstr "" +msgstr "自动生成以这之前的预约项目." #. module: account #: view:account.aged.trial.balance:0 @@ -2491,7 +2494,7 @@ msgstr "账龄分析表" #: model:process.transition,name:account.process_transition_entriesreconcile0 #: model:process.transition,name:account.process_transition_supplierentriesreconcile0 msgid "Accounting entries" -msgstr "" +msgstr "会计分录" #. module: account #: field:account.invoice.line,discount:0 @@ -2512,31 +2515,31 @@ msgstr "" #: model:ir.actions.server,name:account.ir_actions_server_action_wizard_multi_chart #: model:ir.ui.menu,name:account.menu_act_ir_actions_bleble msgid "New Company Financial Setting" -msgstr "" +msgstr "新公司财务设置" #. module: account #: model:ir.actions.act_window,name:account.action_report_account_sales_tree_all #: view:report.account.sales:0 #: view:report.account_type.sales:0 msgid "Sales by Account" -msgstr "" +msgstr "销售科目" #. module: account #: view:account.use.model:0 msgid "This wizard will create recurring accounting entries" -msgstr "" +msgstr "该向导将创建经常性的会计分录" #. module: account -#: code:addons/account/account.py:1181 +#: code:addons/account/account.py:1195 #, python-format msgid "No sequence defined on the journal !" -msgstr "" +msgstr "在日记帐中没有定义的序列!" #. module: account -#: code:addons/account/account.py:2083 +#: code:addons/account/account.py:2097 #: code:addons/account/account_bank_statement.py:350 -#: code:addons/account/account_move_line.py:170 -#: code:addons/account/invoice.py:670 +#: code:addons/account/account_move_line.py:169 +#: code:addons/account/invoice.py:678 #: code:addons/account/wizard/account_use_model.py:81 #, python-format msgid "You have to define an analytic journal on the '%s' journal!" @@ -2569,7 +2572,7 @@ msgstr "会计期间到" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "August" -msgstr "" +msgstr "8月" #. module: account #: code:addons/account/account_bank_statement.py:306 @@ -2601,7 +2604,7 @@ msgstr "关联单号数" #: selection:report.account.sales,month:0 #: selection:report.account_type.sales,month:0 msgid "October" -msgstr "" +msgstr "10月" #. module: account #: help:account.move.line,quantity:0 @@ -2613,7 +2616,7 @@ msgstr "" #. module: account #: view:account.payment.term.line:0 msgid "Line 2:" -msgstr "" +msgstr "第2行" #. module: account #: field:account.journal.column,required:0 @@ -2646,7 +2649,7 @@ msgstr "基础税事务代码的金额" #. module: account #: field:wizard.multi.charts.accounts,sale_tax:0 msgid "Default Sale Tax" -msgstr "" +msgstr "默认销项税" #. module: account #: help:account.model.line,date_maturity:0 @@ -2654,7 +2657,7 @@ msgid "" "The maturity date of the generated entries for this model. You can choose " "between the creation date or the creation date of the entries plus the " "partner payment terms." -msgstr "" +msgstr "您可以选择开始日期且加上该项止合作伙伴的付款条件,由此模型生成的项目的到期日." #. module: account #: model:ir.ui.menu,name:account.menu_finance_accounting @@ -2665,7 +2668,7 @@ msgstr "财务会计" #: view:account.pl.report:0 #: model:ir.ui.menu,name:account.menu_account_pl_report msgid "Profit And Loss" -msgstr "" +msgstr "盈利或亏损" #. module: account #: view:account.fiscal.position:0 @@ -2696,7 +2699,7 @@ msgid "Analytic Entries" msgstr "辅助核算凭证" #. module: account -#: code:addons/account/account.py:822 +#: code:addons/account/account.py:836 #, python-format msgid "" "No fiscal year defined for this date !\n" @@ -2728,12 +2731,12 @@ msgstr "这用户负责这业务类型" #. module: account #: view:account.period:0 msgid "Search Period" -msgstr "" +msgstr "搜寻时期" #. module: account #: view:account.change.currency:0 msgid "Invoice Currency" -msgstr "" +msgstr "货币种类" #. module: account #: field:account.payment.term,line_ids:0 @@ -2743,7 +2746,7 @@ msgstr "条款" #. module: account #: field:account.bank.statement,total_entry_encoding:0 msgid "Cash Transaction" -msgstr "" +msgstr "现金交易" #. module: account #: view:res.partner:0 @@ -2779,7 +2782,7 @@ msgstr "条款名称" #. module: account #: view:account.fiscalyear:0 msgid "Search Fiscalyear" -msgstr "" +msgstr "搜索会计年度" #. module: account #: selection:account.tax,applicable_type:0 @@ -2789,7 +2792,7 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Total Quantity" -msgstr "" +msgstr "合计数量" #. module: account #: field:account.move.line.reconcile.writeoff,writeoff_acc_id:0 @@ -2822,11 +2825,11 @@ msgid "BNK%s" msgstr "" #. module: account -#: code:addons/account/account.py:2906 +#: code:addons/account/account.py:2950 #: code:addons/account/installer.py:296 #, python-format msgid "BNK" -msgstr "" +msgstr "银行" #. module: account #: field:account.move.line,analytic_lines:0 @@ -2851,17 +2854,17 @@ msgstr "税事务模板" #. module: account #: view:account.subscription:0 msgid "Starts on" -msgstr "" +msgstr "开始" #. module: account #: model:ir.model,name:account.model_account_partner_ledger msgid "Account Partner Ledger" -msgstr "" +msgstr "合作伙伴会计帐本(往来帐)" #. module: account #: help:account.journal.column,sequence:0 msgid "Gives the sequence order to journal column." -msgstr "" +msgstr "给日记帐排序号" #. module: account #: view:account.tax.template:0 @@ -2873,7 +2876,7 @@ msgstr "税说明" #: help:account.account.template,currency_id:0 #: help:account.bank.accounts.wizard,currency_id:0 msgid "Forces all moves for this account to have this secondary currency." -msgstr "" +msgstr "将此科目的所有发生都转移到他的二级科目。" #. module: account #: model:ir.actions.act_window,help:account.action_validate_account_move_line @@ -2896,7 +2899,7 @@ msgstr "从模板产生科目一览表" #. module: account #: model:ir.model,name:account.model_account_unreconcile_reconcile msgid "Account Unreconcile Reconcile" -msgstr "" +msgstr "科目核销反核销" #. module: account #: help:account.account.type,close_method:0 @@ -2931,6 +2934,7 @@ msgstr "为使用费用科目而留空" #: field:account.common.report,journal_ids:0 #: report:account.general.journal:0 #: field:account.general.journal,journal_ids:0 +#: report:account.general.ledger_landscape:0 #: view:account.journal.period:0 #: report:account.partner.balance:0 #: field:account.partner.balance,journal_ids:0 @@ -2952,7 +2956,7 @@ msgstr "业务类型" #. module: account #: field:account.partner.reconcile.process,to_reconcile:0 msgid "Remaining Partners" -msgstr "" +msgstr "剩下的合作伙伴" #. module: account #: view:account.subscription:0 @@ -2977,7 +2981,7 @@ msgstr "采购" #: model:ir.actions.act_window,name:account.action_account_installer #: view:wizard.multi.charts.accounts:0 msgid "Accounting Application Configuration" -msgstr "" +msgstr "会计应用程序配置" #. module: account #: model:ir.actions.act_window,name:account.open_board_account @@ -2991,7 +2995,7 @@ msgid "Starting Balance" msgstr "开始余额" #. module: account -#: code:addons/account/invoice.py:1284 +#: code:addons/account/invoice.py:1298 #, python-format msgid "No Partner Defined !" msgstr "未定义业务伙伴!" @@ -3018,12 +3022,12 @@ msgstr "增值税" msgid "" "The amount expressed in the related account currency if not equal to the " "company one." -msgstr "" +msgstr "如果不是同一公司, 这金额表示相关项的货币" #. module: account #: report:account.move.voucher:0 msgid "Journal:" -msgstr "" +msgstr "账簿:" #. module: account #: view:account.bank.statement:0 @@ -3033,7 +3037,6 @@ msgstr "" #: view:account.invoice.report:0 #: selection:account.invoice.report,state:0 #: selection:account.journal.period,state:0 -#: report:account.move.voucher:0 #: view:account.subscription:0 #: selection:account.subscription,state:0 #: selection:report.invoice.created,state:0 @@ -3043,7 +3046,7 @@ msgstr "草稿" #. module: account #: model:ir.actions.act_window,name:account.action_account_configuration_installer msgid "Accounting Chart Configuration" -msgstr "" +msgstr "会计图表配置" #. module: account #: field:account.tax.code,notprintable:0 @@ -3055,17 +3058,17 @@ msgstr "不打印在发票上" #: report:account.vat.declaration:0 #: field:account.vat.declaration,chart_tax_id:0 msgid "Chart of Tax" -msgstr "" +msgstr "税表" #. module: account #: view:account.journal:0 msgid "Search Account Journal" -msgstr "" +msgstr "搜索科目报表" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree_pending_invoice msgid "Pending Invoice" -msgstr "" +msgstr "待开票" #. module: account #: selection:account.subscription,period_type:0 @@ -3075,17 +3078,17 @@ msgstr "年" #. module: account #: report:account.move.voucher:0 msgid "Authorised Signatory" -msgstr "" +msgstr "授权的签字人" #. module: account #: view:validate.account.move.lines:0 msgid "" "All selected journal entries will be validated and posted. It means you " "won't be able to modify their accounting fields anymore." -msgstr "" +msgstr "所有的凭证和报表将过帐,这意味着你将不能修改之个会计期间了。" #. module: account -#: code:addons/account/invoice.py:370 +#: code:addons/account/invoice.py:373 #, python-format msgid "Cannot delete invoice(s) that are already opened or paid !" msgstr "无法删除未结或已付款的发票!" @@ -3118,12 +3121,12 @@ msgstr "税金额" #. module: account #: view:account.installer:0 msgid "Your bank and cash accounts" -msgstr "" +msgstr "你的科目和现金科目" #. module: account #: view:account.move:0 msgid "Search Move" -msgstr "" +msgstr "移动搜索" #. module: account #: field:account.tax.code,name:0 @@ -3143,10 +3146,10 @@ msgstr "发票草稿" msgid "" "Selected Invoice(s) cannot be cancelled as they are already in 'Cancelled' " "or 'Done' state!" -msgstr "" +msgstr "选择的发票不能被取消,因为它们已“取消”或“完成”状态了!" #. module: account -#: code:addons/account/account.py:522 +#: code:addons/account/account.py:532 #, python-format msgid "" "You cannot change the type of account from '%s' to '%s' type as it contains " @@ -3155,24 +3158,25 @@ msgstr "你不能修改这会计类型从'%s' 到 '%s' 因为它含有凭证" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 msgid "Counterpart" -msgstr "" +msgstr "对方" #. module: account #: view:account.journal:0 msgid "Invoicing Data" -msgstr "" +msgstr "进销存数据" #. module: account #: field:account.invoice.report,state:0 msgid "Invoice State" -msgstr "" +msgstr "发票状态" #. module: account #: view:account.invoice.report:0 #: field:account.invoice.report,categ_id:0 msgid "Category of Product" -msgstr "" +msgstr "产品类别" #. module: account #: view:account.move:0 @@ -3180,18 +3184,18 @@ msgstr "" #: view:account.move.line:0 #: field:account.move.line,narration:0 msgid "Narration" -msgstr "" +msgstr "描述" #. module: account #: view:account.addtmpl.wizard:0 #: model:ir.actions.act_window,name:account.action_account_addtmpl_wizard_form msgid "Create Account" -msgstr "" +msgstr "创建科目" #. module: account #: model:ir.model,name:account.model_report_account_type_sales msgid "Report of the Sales by Account Type" -msgstr "" +msgstr "销售报表的科目类型" #. module: account #: selection:account.account.type,close_method:0 @@ -3201,7 +3205,7 @@ msgstr "详情" #. module: account #: field:account.installer,bank_accounts_id:0 msgid "Your Bank and Cash Accounts" -msgstr "" +msgstr "您的银行及现金帐户" #. module: account #: report:account.invoice:0 @@ -3219,7 +3223,7 @@ msgstr "科目表" #. module: account #: view:account.tax.chart:0 msgid "(If you do not select period it will take all open periods)" -msgstr "" +msgstr "如果你不选择时间,将可以在任何期间看到" #. module: account #: field:account.journal,centralisation:0 @@ -3229,7 +3233,7 @@ msgstr "汇总副本" #. module: account #: model:ir.model,name:account.model_account_partner_reconcile_process msgid "Reconcilation Process partner by partner" -msgstr "" +msgstr "核销合作进程的合作伙伴" #. module: account #: selection:account.automatic.reconcile,power:0 @@ -3257,6 +3261,7 @@ msgstr "如果你不选择会计年度将使用所有开启的会计年度" #: field:account.entries.report,date:0 #: selection:account.general.journal,filter:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.invoice.report,date:0 #: report:account.journal.period.print:0 #: view:account.move:0 @@ -3300,7 +3305,7 @@ msgid "Chart of Accounts Template" msgstr "科目表模板" #. module: account -#: code:addons/account/account.py:2095 +#: code:addons/account/account.py:2109 #, python-format msgid "" "Maturity date of entry line generated by model line '%s' of model '%s' is " @@ -3309,13 +3314,13 @@ msgid "" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:810 +#: code:addons/account/account_move_line.py:801 #, python-format msgid "Some entries are already reconciled !" msgstr "部分凭证已核销!" #. module: account -#: code:addons/account/account.py:1204 +#: code:addons/account/account.py:1218 #, python-format msgid "" "You cannot validate a Journal Entry unless all journal items are in same " @@ -3330,7 +3335,7 @@ msgstr "税" #. module: account #: model:ir.ui.menu,name:account.menu_finance_reporting_budgets msgid "Budgets" -msgstr "" +msgstr "预算" #. module: account #: selection:account.aged.trial.balance,filter:0 @@ -3349,7 +3354,7 @@ msgstr "" #: selection:account.report.general.ledger,filter:0 #: selection:account.vat.declaration,filter:0 msgid "No Filters" -msgstr "" +msgstr "无过滤器" #. module: account #: selection:account.analytic.journal,type:0 @@ -3359,7 +3364,7 @@ msgstr "状况" #. module: account #: view:res.partner:0 msgid "History" -msgstr "" +msgstr "历史记录" #. module: account #: help:account.tax,applicable_type:0 @@ -3379,7 +3384,7 @@ msgstr "可用代码(如果类型=代码)" #: view:account.invoice.report:0 #: field:account.invoice.report,product_qty:0 msgid "Qty" -msgstr "" +msgstr "数量" #. module: account #: field:account.invoice.report,address_contact_id:0 @@ -3435,7 +3440,7 @@ msgid "Analytic Items" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:1128 +#: code:addons/account/account_move_line.py:1134 #, python-format msgid "Unable to change tax !" msgstr "无法更改税目!" @@ -3446,14 +3451,14 @@ msgid "#Entries" msgstr "" #. module: account -#: code:addons/account/invoice.py:1422 +#: code:addons/account/invoice.py:1437 #, python-format msgid "" "You selected an Unit of Measure which is not compatible with the product." msgstr "" #. module: account -#: code:addons/account/invoice.py:473 +#: code:addons/account/invoice.py:476 #, python-format msgid "" "The Payment Term of Supplier does not have Payment Term Lines(Computation) " @@ -3491,7 +3496,7 @@ msgstr "名称" #. module: account #: model:ir.model,name:account.model_account_aged_trial_balance msgid "Account Aged Trial balance Report" -msgstr "" +msgstr "账龄试算平衡表" #. module: account #: field:account.move.line,date:0 @@ -3570,7 +3575,7 @@ msgstr "" #. module: account #: field:account.partner.balance,display_partner:0 msgid "Display Partners" -msgstr "" +msgstr "显示业务伙伴" #. module: account #: view:account.invoice:0 @@ -3747,7 +3752,7 @@ msgid "Acc.Type" msgstr "" #. module: account -#: code:addons/account/invoice.py:714 +#: code:addons/account/invoice.py:722 #, python-format msgid "Global taxes defined, but are not in invoice lines !" msgstr "已定义通用税目, 但未在发票行中出现!" @@ -3806,7 +3811,7 @@ msgid "" msgstr "" #. module: account -#: code:addons/account/account_analytic_line.py:91 +#: code:addons/account/account_analytic_line.py:90 #, python-format msgid "There is no expense account defined for this product: \"%s\" (id:%d)" msgstr "" @@ -3981,7 +3986,7 @@ msgid "Credit Notes" msgstr "退还" #. module: account -#: code:addons/account/account.py:2067 +#: code:addons/account/account.py:2081 #: code:addons/account/wizard/account_use_model.py:69 #, python-format msgid "Unable to find a valid period !" @@ -4052,11 +4057,11 @@ msgid "Change" msgstr "改变" #. module: account -#: code:addons/account/account.py:1290 -#: code:addons/account/account.py:1318 -#: code:addons/account/account.py:1325 -#: code:addons/account/account_move_line.py:1055 -#: code:addons/account/invoice.py:896 +#: code:addons/account/account.py:1304 +#: code:addons/account/account.py:1332 +#: code:addons/account/account.py:1339 +#: code:addons/account/account_move_line.py:1061 +#: code:addons/account/invoice.py:904 #: code:addons/account/wizard/account_automatic_reconcile.py:152 #: code:addons/account/wizard/account_fiscalyear_close.py:78 #: code:addons/account/wizard/account_fiscalyear_close.py:81 @@ -4160,7 +4165,7 @@ msgid "You must define an analytic journal of type '%s' !" msgstr "您必须定义这辅助核算类型'%s' !" #. module: account -#: code:addons/account/account.py:1397 +#: code:addons/account/account.py:1411 #, python-format msgid "" "Couldn't create move with currency different from the secondary currency of " @@ -4225,7 +4230,7 @@ msgid "Invoices" msgstr "发票列表" #. module: account -#: code:addons/account/invoice.py:804 +#: code:addons/account/invoice.py:812 #, python-format msgid "" "Please verify the price of the invoice !\n" @@ -4337,25 +4342,24 @@ msgid "Third Party (Country)" msgstr "" #. module: account -#: code:addons/account/account.py:938 -#: code:addons/account/account.py:940 -#: code:addons/account/account.py:1181 -#: code:addons/account/account.py:1393 -#: code:addons/account/account.py:1397 -#: code:addons/account/account_cash_statement.py:249 -#: code:addons/account/account_move_line.py:780 -#: code:addons/account/account_move_line.py:803 -#: code:addons/account/account_move_line.py:805 -#: code:addons/account/account_move_line.py:808 -#: code:addons/account/account_move_line.py:810 -#: code:addons/account/account_move_line.py:1117 +#: code:addons/account/account.py:952 +#: code:addons/account/account.py:954 +#: code:addons/account/account.py:1195 +#: code:addons/account/account.py:1407 +#: code:addons/account/account.py:1411 +#: code:addons/account/account_cash_statement.py:250 +#: code:addons/account/account_move_line.py:771 +#: code:addons/account/account_move_line.py:794 +#: code:addons/account/account_move_line.py:796 +#: code:addons/account/account_move_line.py:799 +#: code:addons/account/account_move_line.py:801 +#: code:addons/account/account_move_line.py:1123 #: code:addons/account/report/common_report_header.py:92 -#: code:addons/account/wizard/account_change_currency.py:39 -#: code:addons/account/wizard/account_change_currency.py:60 -#: code:addons/account/wizard/account_change_currency.py:65 -#: code:addons/account/wizard/account_change_currency.py:71 +#: 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_move_bank_reconcile.py:49 -#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40 #: code:addons/account/wizard/account_report_common.py:120 #: code:addons/account/wizard/account_report_common.py:126 #, python-format @@ -4377,7 +4381,7 @@ msgid "Bank Details" msgstr "银行信息" #. module: account -#: code:addons/account/invoice.py:720 +#: code:addons/account/invoice.py:728 #, python-format msgid "Taxes missing !" msgstr "缺少税目!" @@ -4432,7 +4436,7 @@ msgid "Check Date not in the Period" msgstr "" #. module: account -#: code:addons/account/account.py:1210 +#: code:addons/account/account.py:1224 #, python-format msgid "" "You can not modify a posted entry of this journal !\n" @@ -4453,7 +4457,7 @@ msgid "Child Tax Accounts" msgstr "子税科目" #. module: account -#: code:addons/account/account.py:940 +#: code:addons/account/account.py:954 #, python-format msgid "Start period should be smaller then End period" msgstr "" @@ -4483,6 +4487,7 @@ msgstr "辅助核算余额 -" #: report:account.general.journal:0 #: field:account.general.journal,target_move:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.move.journal,target_move:0 #: report:account.partner.balance:0 @@ -4565,7 +4570,7 @@ msgid "Line 1:" msgstr "" #. module: account -#: code:addons/account/account.py:1167 +#: code:addons/account/account.py:1181 #, python-format msgid "Integrity Error !" msgstr "完整性错误!" @@ -4711,7 +4716,7 @@ msgid "" msgstr "" #. module: account -#: code:addons/account/account.py:2067 +#: code:addons/account/account.py:2081 #: code:addons/account/wizard/account_use_model.py:69 #, python-format msgid "No period found !" @@ -4783,7 +4788,7 @@ msgid "" msgstr "在计算前加入的天数, 如日期为01/15, 天数是22, 月天数为-1,则应付日期是02/28。" #. module: account -#: code:addons/account/account.py:2896 +#: code:addons/account/account.py:2940 #: code:addons/account/installer.py:283 #: code:addons/account/installer.py:295 #, python-format @@ -4811,7 +4816,7 @@ msgid "Start of period" msgstr "开始会计期间" #. module: account -#: code:addons/account/account_move_line.py:1193 +#: code:addons/account/account_move_line.py:1199 #, python-format msgid "" "You can not do this modification on a reconciled entry ! Please note that " @@ -4867,12 +4872,12 @@ msgstr "结束会计年度业务类型" #. module: account #: code:addons/account/account_bank_statement.py:331 -#: code:addons/account/invoice.py:405 -#: code:addons/account/invoice.py:505 -#: code:addons/account/invoice.py:520 -#: code:addons/account/invoice.py:528 -#: code:addons/account/invoice.py:545 -#: code:addons/account/invoice.py:1347 +#: code:addons/account/invoice.py:408 +#: code:addons/account/invoice.py:508 +#: code:addons/account/invoice.py:523 +#: code:addons/account/invoice.py:531 +#: code:addons/account/invoice.py:552 +#: code:addons/account/invoice.py:1361 #: code:addons/account/wizard/account_move_journal.py:63 #, python-format msgid "Configuration Error !" @@ -4949,7 +4954,7 @@ msgid "Sort By" msgstr "" #. module: account -#: code:addons/account/account.py:1326 +#: code:addons/account/account.py:1340 #, python-format msgid "" "There is no default default credit account defined \n" @@ -5096,7 +5101,7 @@ msgid "Generate Opening Entries" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:738 +#: code:addons/account/account_move_line.py:729 #, python-format msgid "Already Reconciled!" msgstr "" @@ -5132,7 +5137,7 @@ msgstr "子科目" #. module: account #: view:account.move.line.reconcile:0 -#: code:addons/account/account_move_line.py:830 +#: code:addons/account/account_move_line.py:821 #, python-format msgid "Write-Off" msgstr "补差额" @@ -5269,7 +5274,7 @@ msgid "# of Lines" msgstr "" #. module: account -#: code:addons/account/wizard/account_change_currency.py:60 +#: code:addons/account/wizard/account_change_currency.py:59 #, python-format msgid "New currency is not confirured properly !" msgstr "" @@ -5294,14 +5299,14 @@ msgid "Filter by" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:1131 -#: code:addons/account/account_move_line.py:1214 +#: code:addons/account/account_move_line.py:1137 +#: code:addons/account/account_move_line.py:1220 #, python-format msgid "You can not use an inactive account!" msgstr "您不能使用一个停用的科目!" #. module: account -#: code:addons/account/account_move_line.py:803 +#: code:addons/account/account_move_line.py:794 #, python-format msgid "Entries are not of the same account or already reconciled ! " msgstr "不同科目或已核算的凭证! " @@ -5336,7 +5341,7 @@ msgstr "7" #. module: account #: code:addons/account/account_bank_statement.py:391 -#: code:addons/account/invoice.py:370 +#: code:addons/account/invoice.py:373 #, python-format msgid "Invalid action !" msgstr "无效动作!" @@ -5547,7 +5552,7 @@ msgid "Companies" msgstr "" #. module: account -#: code:addons/account/account.py:532 +#: code:addons/account/account.py:546 #, python-format msgid "" "You cannot modify Company of account as its related record exist in Entry " @@ -5813,9 +5818,9 @@ msgid "Optional create" msgstr "" #. module: account -#: code:addons/account/invoice.py:406 -#: code:addons/account/invoice.py:506 -#: code:addons/account/invoice.py:1348 +#: code:addons/account/invoice.py:409 +#: code:addons/account/invoice.py:509 +#: code:addons/account/invoice.py:1362 #, python-format msgid "Can not find account chart for this company, Please Create account." msgstr "" @@ -5964,8 +5969,8 @@ msgid "Analytic Entries Statistics" msgstr "" #. module: account -#: code:addons/account/account_analytic_line.py:143 -#: code:addons/account/account_move_line.py:905 +#: code:addons/account/account_analytic_line.py:141 +#: code:addons/account/account_move_line.py:897 #, python-format msgid "Entries: " msgstr "凭证: " @@ -5976,7 +5981,7 @@ msgid "Create manual recurring entries in a chosen journal." msgstr "" #. module: account -#: code:addons/account/account.py:1393 +#: code:addons/account/account.py:1407 #, python-format msgid "Couldn't create move between different companies" msgstr "无法创建公司之间的过帐" @@ -6014,7 +6019,7 @@ msgid "Total debit" msgstr "借方合计" #. module: account -#: code:addons/account/account_move_line.py:781 +#: code:addons/account/account_move_line.py:772 #, python-format msgid "Entry \"%s\" is not valid !" msgstr "凭证\"%s\"无效!" @@ -6078,30 +6083,31 @@ msgid " valuation: percent" msgstr "" #. module: account -#: code:addons/account/account.py:499 -#: code:addons/account/account.py:501 -#: code:addons/account/account.py:822 -#: code:addons/account/account.py:901 -#: code:addons/account/account.py:976 -#: code:addons/account/account.py:1204 -#: code:addons/account/account.py:1210 -#: code:addons/account/account.py:2095 -#: code:addons/account/account.py:2333 -#: code:addons/account/account_analytic_line.py:90 -#: code:addons/account/account_analytic_line.py:99 +#: code:addons/account/account.py:509 +#: code:addons/account/account.py:511 +#: code:addons/account/account.py:836 +#: code:addons/account/account.py:915 +#: code:addons/account/account.py:990 +#: code:addons/account/account.py:1218 +#: code:addons/account/account.py:1224 +#: code:addons/account/account.py:2109 +#: code:addons/account/account.py:2357 +#: code:addons/account/account_analytic_line.py:89 +#: code:addons/account/account_analytic_line.py:98 #: code:addons/account/account_bank_statement.py:292 #: code:addons/account/account_bank_statement.py:305 #: code:addons/account/account_bank_statement.py:345 -#: code:addons/account/account_cash_statement.py:328 -#: code:addons/account/account_cash_statement.py:348 -#: code:addons/account/account_move_line.py:1176 -#: code:addons/account/account_move_line.py:1191 -#: code:addons/account/account_move_line.py:1193 -#: code:addons/account/invoice.py:785 -#: code:addons/account/invoice.py:815 -#: code:addons/account/invoice.py:1008 +#: code:addons/account/account_cash_statement.py:329 +#: code:addons/account/account_cash_statement.py:349 +#: code:addons/account/account_move_line.py:1182 +#: code:addons/account/account_move_line.py:1197 +#: code:addons/account/account_move_line.py:1199 +#: code:addons/account/invoice.py:793 +#: code:addons/account/invoice.py:823 +#: code:addons/account/invoice.py:1014 #: code:addons/account/wizard/account_invoice_refund.py:100 #: code:addons/account/wizard/account_invoice_refund.py:102 +#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40 #: code:addons/account/wizard/account_use_model.py:44 #, python-format msgid "Error !" @@ -6211,7 +6217,7 @@ msgid "Journal Select" msgstr "" #. module: account -#: code:addons/account/wizard/account_change_currency.py:65 +#: code:addons/account/wizard/account_change_currency.py:64 #, python-format msgid "Currnt currency is not confirured properly !" msgstr "" @@ -6228,9 +6234,11 @@ msgstr "" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: view:account.report.general.ledger:0 #: model:ir.actions.act_window,name:account.action_account_general_ledger_menu #: model:ir.actions.report.xml,name:account.account_general_ledger +#: model:ir.actions.report.xml,name:account.account_general_ledger_landscape #: model:ir.ui.menu,name:account.menu_general_ledger msgid "General Ledger" msgstr "按全部业务类型打印全部凭证" @@ -6284,7 +6292,7 @@ msgid "Total:" msgstr "合计:" #. module: account -#: code:addons/account/account.py:2050 +#: code:addons/account/account.py:2064 #, python-format msgid "" "You can specify year, month and date in the name of the model using the " @@ -6314,7 +6322,7 @@ msgid "Child Codes" msgstr "子代码" #. module: account -#: code:addons/account/invoice.py:473 +#: code:addons/account/invoice.py:476 #: code:addons/account/wizard/account_invoice_refund.py:137 #, python-format msgid "Data Insufficient !" @@ -6471,7 +6479,7 @@ msgid "Lines" msgstr "明细" #. module: account -#: code:addons/account/invoice.py:521 +#: code:addons/account/invoice.py:524 #, python-format msgid "" "Can not find account chart for this company in invoice line account, Please " @@ -6639,7 +6647,7 @@ msgid "" msgstr "这字段只用于如果你开发自己的模块允许开发者在自定义域创建特定的税" #. module: account -#: code:addons/account/account.py:938 +#: code:addons/account/account.py:952 #, python-format msgid "You should have chosen periods that belongs to the same company" msgstr "" @@ -6743,7 +6751,7 @@ msgid "Sign on Reports" msgstr "报表上的符号" #. module: account -#: code:addons/account/account_cash_statement.py:249 +#: code:addons/account/account_cash_statement.py:250 #, python-format msgid "You can not have two open register for the same journal" msgstr "" @@ -6772,7 +6780,6 @@ msgstr "" #. module: account #: report:account.invoice:0 #: view:account.invoice:0 -#: report:account.move.voucher:0 msgid "PRO-FORMA" msgstr "形式发票" @@ -6788,7 +6795,7 @@ msgstr "" #: view:account.move.line:0 #: selection:account.move.line,state:0 msgid "Unbalanced" -msgstr "" +msgstr "不平衡" #. module: account #: selection:account.move.line,centralisation:0 @@ -6802,6 +6809,7 @@ 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 @@ -6827,13 +6835,13 @@ msgid "" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:1271 +#: code:addons/account/account_move_line.py:1277 #, python-format msgid "Bad account !" msgstr "无效科目!" #. module: account -#: code:addons/account/account.py:2777 +#: code:addons/account/account.py:2821 #: code:addons/account/installer.py:432 #, python-format msgid "Sales Journal" @@ -6851,7 +6859,7 @@ msgid "Invoice Tax" msgstr "发票税" #. module: account -#: code:addons/account/account_move_line.py:1246 +#: code:addons/account/account_move_line.py:1252 #, python-format msgid "No piece number !" msgstr "没会计期间!" @@ -7085,17 +7093,17 @@ msgid "Fixed" msgstr "固定" #. module: account -#: code:addons/account/account.py:506 -#: code:addons/account/account.py:519 -#: code:addons/account/account.py:522 +#: code:addons/account/account.py:516 +#: code:addons/account/account.py:529 #: code:addons/account/account.py:532 -#: code:addons/account/account.py:640 -#: code:addons/account/account.py:927 -#: code:addons/account/account_move_line.py:732 -#: code:addons/account/account_move_line.py:776 -#: code:addons/account/invoice.py:714 -#: code:addons/account/invoice.py:717 -#: code:addons/account/invoice.py:720 +#: code:addons/account/account.py:546 +#: code:addons/account/account.py:654 +#: code:addons/account/account.py:941 +#: code:addons/account/account_move_line.py:723 +#: code:addons/account/account_move_line.py:767 +#: code:addons/account/invoice.py:722 +#: code:addons/account/invoice.py:725 +#: code:addons/account/invoice.py:728 #, python-format msgid "Warning !" msgstr "警告 !" @@ -7127,6 +7135,7 @@ msgstr "" #: view:account.entries.report:0 #: field:account.entries.report,partner_id:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: view:account.invoice:0 #: field:account.invoice,partner_id:0 #: field:account.invoice.line,partner_id:0 @@ -7157,7 +7166,7 @@ msgid "Can not %s draft/proforma/cancel invoice." msgstr "不能注销 %s 草稿/形式/取消的发票" #. module: account -#: code:addons/account/invoice.py:787 +#: code:addons/account/invoice.py:795 #, python-format msgid "No Invoice Lines !" msgstr "" @@ -7206,7 +7215,7 @@ msgid "Deferral Method" msgstr "递延方法" #. module: account -#: code:addons/account/invoice.py:359 +#: code:addons/account/invoice.py:360 #, python-format msgid "Invoice '%s' is paid." msgstr "" @@ -7267,7 +7276,7 @@ msgid "Associated Partner" msgstr "相关业务伙伴" #. module: account -#: code:addons/account/invoice.py:1284 +#: code:addons/account/invoice.py:1298 #, python-format msgid "You must first select a partner !" msgstr "你必须首先选择一个业务伙伴!" @@ -7332,7 +7341,7 @@ msgid "Choose Fiscal Year" msgstr "选择会计年度" #. module: account -#: code:addons/account/account.py:2841 +#: code:addons/account/account.py:2885 #: code:addons/account/installer.py:495 #, python-format msgid "Purchase Refund Journal" @@ -7367,6 +7376,7 @@ msgstr "" #: view:account.entries.report:0 #: field:account.entries.report,period_id:0 #: view:account.fiscalyear:0 +#: report:account.general.ledger_landscape:0 #: view:account.invoice:0 #: view:account.invoice.report:0 #: field:account.journal.period,period_id:0 @@ -7529,7 +7539,7 @@ msgid "Account Types" msgstr "科目类型" #. module: account -#: code:addons/account/invoice.py:897 +#: code:addons/account/invoice.py:905 #, python-format msgid "Cannot create invoice move on centralised journal" msgstr "你不能在汇总的副本里创建发票凭证" @@ -7579,6 +7589,7 @@ msgstr "退款(开红字发票)业务类型" #: report:account.account.balance:0 #: report:account.central.journal:0 #: report:account.general.journal:0 +#: report:account.general.ledger_landscape:0 #: report:account.partner.balance:0 msgid "Filter By" msgstr "" @@ -7617,7 +7628,7 @@ msgid "Payment Term Line" msgstr "付款条款明细" #. module: account -#: code:addons/account/account.py:2794 +#: code:addons/account/account.py:2838 #: code:addons/account/installer.py:452 #, python-format msgid "Purchase Journal" @@ -7784,8 +7795,8 @@ msgid "" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:1131 -#: code:addons/account/account_move_line.py:1214 +#: code:addons/account/account_move_line.py:1137 +#: code:addons/account/account_move_line.py:1220 #, python-format msgid "Bad account!" msgstr "无效科目!" @@ -7796,7 +7807,7 @@ msgid "Keep empty for all open fiscal years" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:1056 +#: code:addons/account/account_move_line.py:1062 #, python-format msgid "The account move (%s) for centralisation has been confirmed!" msgstr "" @@ -7817,6 +7828,7 @@ msgstr "如果它是一个多货币凭证,这金额表示一个可选的其它 #: field:account.entries.report,currency_id:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.invoice,currency_id:0 #: field:account.invoice.report,currency_id:0 #: field:account.journal,currency:0 @@ -7989,14 +8001,14 @@ msgid "Period from" msgstr "会计期间从" #. module: account -#: code:addons/account/account.py:2817 +#: code:addons/account/account.py:2861 #: code:addons/account/installer.py:476 #, python-format msgid "Sales Refund Journal" msgstr "" #. module: account -#: code:addons/account/account.py:927 +#: code:addons/account/account.py:941 #, python-format msgid "" "You cannot modify company of this period as its related record exist in " @@ -8045,7 +8057,7 @@ msgid "Purchase Tax(%)" msgstr "" #. module: account -#: code:addons/account/invoice.py:787 +#: code:addons/account/invoice.py:795 #, python-format msgid "Please create some invoice lines." msgstr "" @@ -8061,7 +8073,7 @@ msgid "Configure Your Accounting Application" msgstr "" #. module: account -#: code:addons/account/account.py:2820 +#: code:addons/account/account.py:2864 #: code:addons/account/installer.py:479 #, python-format msgid "SCNJ" @@ -8099,6 +8111,7 @@ msgstr "" #: report:account.central.journal:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 #: report:account.third_party_ledger:0 @@ -8108,7 +8121,7 @@ msgid "Start Period" msgstr "" #. module: account -#: code:addons/account/account.py:2333 +#: code:addons/account/account.py:2357 #, python-format msgid "Cannot locate parent code for template account!" msgstr "" @@ -8145,7 +8158,7 @@ msgid "Accountant validates the accounting entries coming from the invoice. " msgstr "" #. module: account -#: code:addons/account/invoice.py:1008 +#: code:addons/account/invoice.py:1014 #, python-format msgid "" "You cannot cancel the Invoice which is Partially Paid! You need to " @@ -8173,7 +8186,7 @@ msgid "You can not create move line on view account." msgstr "" #. module: account -#: code:addons/account/wizard/account_change_currency.py:71 +#: code:addons/account/wizard/account_change_currency.py:70 #, python-format msgid "Current currency is not confirured properly !" msgstr "" @@ -8222,6 +8235,7 @@ msgstr "留空为使用收入科目" #: field:account.entries.report,balance:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.move.line,balance:0 #: report:account.partner.balance:0 #: selection:account.payment.term.line,value:0 @@ -8240,6 +8254,7 @@ msgstr "" #. module: account #: report:account.account.balance:0 +#: report:account.general.ledger_landscape:0 msgid "Display Account" msgstr "" @@ -8354,6 +8369,7 @@ msgstr "" #. module: account #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.move.line,move_id:0 #: field:analytic.entries.report,move_id:0 @@ -8361,7 +8377,7 @@ msgid "Move" msgstr "凭证" #. module: account -#: code:addons/account/account_move_line.py:1128 +#: code:addons/account/account_move_line.py:1134 #, python-format msgid "You can not change the tax, you should remove and recreate lines !" msgstr "您不能更改此税目,请移除并重新创建凭证!" @@ -8455,6 +8471,7 @@ msgstr "" #: report:account.central.journal:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 #: report:account.third_party_ledger:0 @@ -8498,7 +8515,7 @@ msgid "Account Subscription" msgstr "周期性凭证科目" #. module: account -#: code:addons/account/invoice.py:717 +#: code:addons/account/invoice.py:725 #, python-format msgid "" "Tax base different !\n" @@ -8527,6 +8544,7 @@ msgstr "周期性凭证" #: report:account.general.journal:0 #: field:account.general.journal,date_from:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.installer,date_start:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -8555,7 +8573,7 @@ msgid "Unreconciled" msgstr "反核销" #. module: account -#: code:addons/account/invoice.py:804 +#: code:addons/account/invoice.py:812 #, python-format msgid "Bad total !" msgstr "坏的合计!" @@ -8613,13 +8631,13 @@ msgid "Active" msgstr "启用" #. module: account -#: code:addons/account/invoice.py:354 +#: code:addons/account/invoice.py:353 #, python-format msgid "Unknown Error" msgstr "" #. module: account -#: code:addons/account/account.py:1167 +#: code:addons/account/account.py:1181 #, python-format msgid "" "You cannot validate a non-balanced entry !\n" @@ -8662,10 +8680,10 @@ msgstr "" #: field:account.entries.report,credit:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.model.line,credit:0 #: field:account.move.line,credit:0 -#: report:account.move.voucher:0 #: report:account.partner.balance:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 @@ -8901,7 +8919,6 @@ msgstr "选择会计期间" #: view:account.move:0 #: selection:account.move,state:0 #: view:account.move.line:0 -#: report:account.move.voucher:0 msgid "Posted" msgstr "已登账" @@ -8920,6 +8937,7 @@ msgstr "已登账" #: report:account.general.journal:0 #: field:account.general.journal,date_to:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: field:account.installer,date_stop:0 #: report:account.journal.period.print:0 #: report:account.partner.balance:0 @@ -8973,7 +8991,7 @@ msgid "This is a model for recurring accounting entries" msgstr "这是一个循环凭证模型" #. module: account -#: code:addons/account/account_analytic_line.py:100 +#: code:addons/account/account_analytic_line.py:99 #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)" msgstr "" @@ -9123,8 +9141,8 @@ msgid "End period" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:738 -#: code:addons/account/account_move_line.py:815 +#: code:addons/account/account_move_line.py:729 +#: code:addons/account/account_move_line.py:806 #: code:addons/account/wizard/account_invoice_state.py:44 #: code:addons/account/wizard/account_invoice_state.py:68 #: code:addons/account/wizard/account_report_balance_sheet.py:70 @@ -9190,10 +9208,10 @@ msgstr "供应商发票" #: field:account.entries.report,debit:0 #: report:account.general.journal:0 #: report:account.general.ledger:0 +#: report:account.general.ledger_landscape:0 #: report:account.journal.period.print:0 #: field:account.model.line,debit:0 #: field:account.move.line,debit:0 -#: report:account.move.voucher:0 #: report:account.partner.balance:0 #: report:account.tax.code.entries:0 #: report:account.third_party_ledger:0 @@ -9227,7 +9245,7 @@ msgid "Recurring" msgstr "" #. module: account -#: code:addons/account/account_move_line.py:805 +#: code:addons/account/account_move_line.py:796 #, python-format msgid "Entry is already reconciled" msgstr "凭证已经核销" @@ -9248,7 +9266,7 @@ msgid "Range" msgstr "范围" #. module: account -#: code:addons/account/account_move_line.py:1246 +#: code:addons/account/account_move_line.py:1252 #, python-format msgid "" "Can not create an automatic sequence for this piece !\n" @@ -9327,17 +9345,17 @@ msgstr "如果是一个多货币凭证可选其它货币" #: model:process.transition,note:account.process_transition_invoiceimport0 msgid "" "Import of the statement in the system from a supplier or customer invoice" -msgstr "" +msgstr "供应商或客户发票在系统中的入口" #. module: account #: model:ir.ui.menu,name:account.menu_finance_periodical_processing_billing msgid "Billing" -msgstr "" +msgstr "发票" #. module: account #: view:account.account:0 msgid "Parent Account" -msgstr "" +msgstr "父科目" #. module: account #: model:ir.actions.act_window,help:account.action_account_journal_form @@ -9353,7 +9371,7 @@ msgstr "" #. module: account #: model:ir.model,name:account.model_account_analytic_chart msgid "Account Analytic Chart" -msgstr "" +msgstr "科目分析图表" #. module: account #: help:account.invoice,residual:0 @@ -9363,14 +9381,14 @@ msgstr "剩余的欠款" #. module: account #: model:ir.ui.menu,name:account.menu_finance_statistic_report_statement msgid "Statistic Reports" -msgstr "" +msgstr "统计报告" #. module: account #: field:account.installer,progress:0 #: field:account.installer.modules,progress:0 #: field:wizard.multi.charts.accounts,progress:0 msgid "Configuration Progress" -msgstr "" +msgstr "配置进度" #. module: account #: view:account.fiscal.position.template:0 @@ -9378,7 +9396,7 @@ msgid "Accounts Mapping" msgstr "科目一览" #. module: account -#: code:addons/account/invoice.py:346 +#: code:addons/account/invoice.py:345 #, python-format msgid "Invoice '%s' is waiting for validation." msgstr "" @@ -9403,7 +9421,7 @@ msgid "The income or expense account related to the selected product." msgstr "和选择的产品相关的收入或费用科目" #. module: account -#: code:addons/account/account_move_line.py:1117 +#: code:addons/account/account_move_line.py:1123 #, python-format msgid "The date of your Journal Entry is not in the defined period!" msgstr "" @@ -9487,7 +9505,7 @@ msgstr "" #. module: account #: view:account.invoice.tax:0 msgid "Manual Invoice Taxes" -msgstr "手动发票税" +msgstr "上门纳税(非主营业务纳税)" #. module: account #: field:account.account,parent_right:0 @@ -9589,7 +9607,7 @@ msgstr "通常用 1或-1" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_account_template msgid "Template Account Fiscal Mapping" -msgstr "" +msgstr "以这个会计科目为模版制图" #. module: account #: field:account.chart.template,property_account_expense:0 @@ -9599,7 +9617,7 @@ msgstr "产品模板的费用科目" #. module: account #: field:account.analytic.line,amount_currency:0 msgid "Amount currency" -msgstr "" +msgstr "金额" #. module: account #: code:addons/account/wizard/account_report_aged_partner_balance.py:55 @@ -9608,7 +9626,7 @@ msgid "You must enter a period length that cannot be 0 or below !" msgstr "您必须输入的期间长度不能为0或以下 !" #. module: account -#: code:addons/account/account.py:501 +#: code:addons/account/account.py:511 #, python-format msgid "You cannot remove an account which has account entries!. " msgstr "你不能删除这科目因为它已有凭证! " diff --git a/addons/account_analytic_default/i18n/zh_CN.po b/addons/account_analytic_default/i18n/zh_CN.po index 7c6b8677b1c..f6cc673966d 100644 --- a/addons/account_analytic_default/i18n/zh_CN.po +++ b/addons/account_analytic_default/i18n/zh_CN.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: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2010-09-29 09:13+0000\n" -"Last-Translator: Black Jack \n" +"PO-Revision-Date: 2011-07-01 10:20+0000\n" +"Last-Translator: digitalsatori \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-04-29 05:25+0000\n" -"X-Generator: Launchpad (build 12758)\n" +"X-Launchpad-Export-Date: 2011-07-02 05:06+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: account_analytic_default #: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information @@ -49,7 +49,7 @@ msgstr "" #. module: account_analytic_default #: view:account.analytic.default:0 msgid "Group By..." -msgstr "" +msgstr "分组..." #. module: account_analytic_default #: help:account.analytic.default,date_stop:0 @@ -59,7 +59,7 @@ msgstr "" #. module: account_analytic_default #: model:ir.model,name:account_analytic_default.model_stock_picking msgid "Picking List" -msgstr "" +msgstr "领料/提货单" #. module: account_analytic_default #: view:account.analytic.default:0 diff --git a/addons/anonymization/i18n/pt_BR.po b/addons/anonymization/i18n/pt_BR.po index b710579d4d2..00f32c21c99 100644 --- a/addons/anonymization/i18n/pt_BR.po +++ b/addons/anonymization/i18n/pt_BR.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2011-05-20 02:08+0000\n" +"PO-Revision-Date: 2011-07-02 18:49+0000\n" "Last-Translator: Gustavo T \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-05-21 05:02+0000\n" -"X-Generator: Launchpad (build 12959)\n" +"X-Launchpad-Export-Date: 2011-07-03 04:47+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: anonymization #: model:ir.model,name:anonymization.model_ir_model_fields_anonymize_wizard @@ -25,7 +25,7 @@ msgstr "ir.model.fields.anonymize.wizard" #. module: anonymization #: field:ir.model.fields.anonymization,field_name:0 msgid "Field Name" -msgstr "Nome do Campo" +msgstr "Nome do campo" #. module: anonymization #: field:ir.model.fields.anonymization,field_id:0 @@ -138,7 +138,7 @@ msgstr "Limpar" #. module: anonymization #: selection:ir.model.fields.anonymization.history,direction:0 msgid "clear -> anonymized" -msgstr "" +msgstr "em branco -> anonimizado" #. module: anonymization #: view:ir.model.fields.anonymize.wizard:0 @@ -149,7 +149,7 @@ msgstr "Resumo" #. module: anonymization #: view:ir.model.fields.anonymization:0 msgid "Anonymized Field" -msgstr "" +msgstr "Campo Anonimizado" #. module: anonymization #: model:ir.module.module,description:anonymization.module_meta_information @@ -158,6 +158,9 @@ msgid "" "This module allows you to anonymize a database.\n" " " msgstr "" +"\n" +"Este módulo permite que você anonimize um banco de dados\n" +" " #. module: anonymization #: selection:ir.model.fields.anonymize.wizard,state:0 @@ -196,7 +199,7 @@ msgstr "ir.model.fields.anonymization.history" #: model:ir.actions.act_window,name:anonymization.action_ir_model_fields_anonymize_wizard #: view:ir.model.fields.anonymize.wizard:0 msgid "Anonymize Database" -msgstr "" +msgstr "Anonimizar Banco de Dados" #. module: anonymization #: field:ir.model.fields.anonymize.wizard,name:0 @@ -206,21 +209,21 @@ msgstr "Nome do Arquivo" #. module: anonymization #: selection:ir.model.fields.anonymization.history,direction:0 msgid "anonymized -> clear" -msgstr "" +msgstr "anonimizado -> em branco" #. module: anonymization #: selection:ir.model.fields.anonymization.history,state:0 msgid "Started" -msgstr "" +msgstr "Iniciada" #. module: anonymization #: selection:ir.model.fields.anonymization.history,state:0 msgid "Done" -msgstr "" +msgstr "Concluído" #. module: anonymization #: view:ir.model.fields.anonymization.history:0 #: field:ir.model.fields.anonymization.history,msg:0 #: field:ir.model.fields.anonymize.wizard,msg:0 msgid "Message" -msgstr "" +msgstr "Mensagem" diff --git a/addons/caldav/i18n/zh_CN.po b/addons/caldav/i18n/zh_CN.po new file mode 100644 index 00000000000..8cdf821ca45 --- /dev/null +++ b/addons/caldav/i18n/zh_CN.po @@ -0,0 +1,818 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:14+0000\n" +"PO-Revision-Date: 2011-07-04 10:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-07-05 04:33+0000\n" +"X-Generator: Launchpad (build 13168)\n" + +#. module: caldav +#: view:basic.calendar:0 +msgid "Value Mapping" +msgstr "值列表" + +#. module: caldav +#: help:caldav.browse,url:0 +msgid "Url of the caldav server, use for synchronization" +msgstr "caldav服务器网址,用于同步" + +#. module: caldav +#: field:basic.calendar.alias,name:0 +msgid "Filename" +msgstr "文件名" + +#. module: caldav +#: model:ir.model,name:caldav.model_calendar_event_export +msgid "Event Export" +msgstr "事件导出" + +#. module: caldav +#: view:calendar.event.subscribe:0 +msgid "Provide path for Remote Calendar" +msgstr "提供远程日历路径" + +#. module: caldav +#: model:ir.actions.act_window,name:caldav.action_calendar_event_import_values +msgid "Import .ics File" +msgstr "导入 .ics 文件" + +#. module: caldav +#: view:calendar.event.export:0 +msgid "_Close" +msgstr "关闭(_C):" + +#. module: caldav +#: selection:basic.calendar.attributes,type:0 +#: selection:basic.calendar.lines,name:0 +msgid "Attendee" +msgstr "参与者" + +#. module: caldav +#: sql_constraint:basic.calendar.fields:0 +msgid "Can not map a field more than once" +msgstr "不能映射,相关字段多于一个" + +#. module: caldav +#: code:addons/caldav/calendar.py:787 +#: code:addons/caldav/calendar.py:877 +#: code:addons/caldav/wizard/calendar_event_import.py:63 +#, python-format +msgid "Warning !" +msgstr "警告!" + +#. module: caldav +#: field:basic.calendar.lines,object_id:0 +msgid "Object" +msgstr "对象" + +#. module: caldav +#: view:basic.calendar:0 +msgid "Todo" +msgstr "待办事项" + +#. module: caldav +#: model:ir.model,name:caldav.model_user_preference +msgid "User preference Form" +msgstr "用户编好" + +#. module: caldav +#: field:user.preference,service:0 +msgid "Services" +msgstr "服务" + +#. module: caldav +#: selection:basic.calendar.fields,fn:0 +msgid "Expression as constant" +msgstr "表现像常量" + +#. module: caldav +#: selection:user.preference,device:0 +msgid "Evolution" +msgstr "演变" + +#. module: caldav +#: view:calendar.event.import:0 +#: view:calendar.event.subscribe:0 +msgid "Ok" +msgstr "确定" + +#. module: caldav +#: code:addons/caldav/calendar.py:877 +#, python-format +msgid "Please provide proper configuration of \"%s\" in Calendar Lines" +msgstr "在日程表明细中请为 \"%s\" 进行合适的设置" + +#. module: caldav +#: field:calendar.event.export,name:0 +msgid "File name" +msgstr "文件名" + +#. module: caldav +#: field:caldav.browse,url:0 +msgid "Caldav Server" +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/calendar_event_subscribe.py:59 +#, python-format +msgid "Error!" +msgstr "" + +#. module: caldav +#: help:caldav.browse,caldav_doc_file:0 +msgid "download full caldav Documentation." +msgstr "" + +#. module: caldav +#: selection:user.preference,device:0 +msgid "iPhone" +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/caldav_browse.py:32 +#, python-format +msgid "" +"\n" +" * Webdav server that provides remote access to calendar\n" +" * Synchronisation of calendar using WebDAV\n" +" * Customize calendar event and todo attribute with any of OpenERP model\n" +" * Provides iCal Import/Export functionality\n" +"\n" +" To access Calendars using CalDAV clients, point them to:\n" +" " +"http://HOSTNAME:PORT/webdav/DATABASE_NAME/calendars/users/USERNAME/c\n" +"\n" +" To access OpenERP Calendar using WebCal to remote site use the URL " +"like:\n" +" " +"http://HOSTNAME:PORT/webdav/DATABASE_NAME/Calendars/CALENDAR_NAME.ics\n" +"\n" +" Where,\n" +" HOSTNAME: Host on which OpenERP server(With webdav) is running\n" +" PORT : Port on which OpenERP server is running (By Default : 8069)\n" +" DATABASE_NAME: Name of database on which OpenERP Calendar is " +"created\n" +" CALENDAR_NAME: Name of calendar to access\n" +" " +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/caldav_browse.py:147 +#, python-format +msgid "" +"\n" +"Prerequire\n" +"----------\n" +"If you are using thunderbird, first you need to install the lightning " +"module\n" +"http://www.mozilla.org/projects/calendar/lightning/\n" +"\n" +"configuration\n" +"-------------\n" +"\n" +"1. Go to Calendar View\n" +"\n" +"2. File -> New Calendar\n" +"\n" +"3. Chosse \"On the Network\"\n" +"\n" +"4. for format choose CalDav\n" +" and as location the url given above (ie : " +"http://host.com:8069/webdav/db/calendars/users/demo/c/Meetings)\n" +" \n" +"5. Choose a name and a color for the Calendar, and we advice you to uncheck " +"\"alarm\"\n" +"\n" +"6. Then put your openerp login and password (to give the password only check " +"the box \"Use password Manager to remember this password\"\n" +"\n" +"7. Then Finish, your meetings should appear now in your calendar view\n" +msgstr "" + +#. module: caldav +#: selection:basic.calendar,type:0 +#: selection:basic.calendar.attributes,type:0 +#: selection:basic.calendar.lines,name:0 +msgid "TODO" +msgstr "" + +#. module: caldav +#: view:calendar.event.export:0 +msgid "Export ICS" +msgstr "" + +#. module: caldav +#: selection:basic.calendar.fields,fn:0 +msgid "Use the field" +msgstr "" + +#. module: caldav +#: code:addons/caldav/calendar.py:787 +#, python-format +msgid "Can not create line \"%s\" more than once" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +#: field:basic.calendar,line_ids:0 +#: model:ir.model,name:caldav.model_basic_calendar_lines +msgid "Calendar Lines" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_calendar_event_subscribe +msgid "Event subscribe" +msgstr "" + +#. module: caldav +#: view:calendar.event.import:0 +msgid "Import ICS" +msgstr "" + +#. module: caldav +#: view:calendar.event.import:0 +#: view:calendar.event.subscribe:0 +#: view:user.preference:0 +msgid "_Cancel" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_event +msgid "basic.calendar.event" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +#: selection:basic.calendar,type:0 +#: selection:basic.calendar.attributes,type:0 +#: selection:basic.calendar.lines,name:0 +msgid "Event" +msgstr "" + +#. module: caldav +#: field:document.directory,calendar_collection:0 +#: field:user.preference,collection:0 +msgid "Calendar Collection" +msgstr "" + +#. module: caldav +#: constraint:document.directory:0 +msgid "Error! You can not create recursive Directories." +msgstr "" + +#. module: caldav +#: view:user.preference:0 +msgid "_Open" +msgstr "" + +#. module: caldav +#: field:basic.calendar,type:0 +#: field:basic.calendar.attributes,type:0 +#: field:basic.calendar.fields,type_id:0 +#: field:basic.calendar.lines,name:0 +msgid "Type" +msgstr "" + +#. module: caldav +#: help:calendar.event.export,name:0 +msgid "Save in .ics format" +msgstr "" + +#. module: caldav +#: code:addons/caldav/calendar.py:1291 +#, python-format +msgid "Error !" +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/caldav_browse.py:128 +#, python-format +msgid "" +"\n" +" 1. Go to Calendar View\n" +"\n" +" 2. File -> New -> Calendar\n" +"\n" +" 3. Fill the form \n" +" - type : CalDav\n" +" - name : Whaterver you want (ie : Meeting)\n" +" - url : " +"http://HOST:PORT/webdav/DB_NAME/calendars/users/USER/c/Meetings (ie : " +"http://localhost:8069/webdav/db_1/calendars/users/demo/c/Meetings) the one " +"given on the top of this window\n" +" - uncheck \"User SSL\"\n" +" - Username : Your username (ie : Demo)\n" +" - Refresh : everytime you want that evolution synchronize the data " +"with the server\n" +"\n" +" 4. Click ok and give your openerp password\n" +"\n" +" 5. A new calendar named with the name you gave should appear on the left " +"side. \n" +" " +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_attributes +msgid "Calendar attributes" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_caldav_browse +msgid "Caldav Browse" +msgstr "" + +#. module: caldav +#: model:ir.module.module,description:caldav.module_meta_information +msgid "" +"\n" +" This module Contains basic functionality for caldav system like: \n" +" - Webdav server that provides remote access to calendar\n" +" - Synchronisation of calendar using WebDAV\n" +" - Customize calendar event and todo attribute with any of OpenERP model\n" +" - Provides iCal Import/Export functionality\n" +"\n" +" To access Calendars using CalDAV clients, point them to:\n" +" " +"http://HOSTNAME:PORT/webdav/DATABASE_NAME/calendars/users/USERNAME/c\n" +"\n" +" To access OpenERP Calendar using WebCal to remote site use the URL " +"like:\n" +" " +"http://HOSTNAME:PORT/webdav/DATABASE_NAME/Calendars/CALENDAR_NAME.ics\n" +"\n" +" Where,\n" +" HOSTNAME: Host on which OpenERP server(With webdav) is running\n" +" PORT : Port on which OpenERP server is running (By Default : 8069)\n" +" DATABASE_NAME: Name of database on which OpenERP Calendar is " +"created\n" +" CALENDAR_NAME: Name of calendar to access\n" +msgstr "" + +#. module: caldav +#: selection:user.preference,device:0 +msgid "Android based device" +msgstr "" + +#. module: caldav +#: field:basic.calendar,create_date:0 +msgid "Created Date" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +msgid "Attributes Mapping" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_document_directory +msgid "Directory" +msgstr "" + +#. module: caldav +#: field:calendar.event.subscribe,url_path:0 +msgid "Provide path for remote calendar" +msgstr "" + +#. module: caldav +#: view:caldav.browse:0 +msgid "_Ok" +msgstr "" + +#. module: caldav +#: field:basic.calendar.lines,domain:0 +msgid "Domain" +msgstr "" + +#. module: caldav +#: view:calendar.event.subscribe:0 +msgid "_Subscribe" +msgstr "" + +#. module: caldav +#: field:basic.calendar,user_id:0 +msgid "Owner" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +#: field:basic.calendar.alias,cal_line_id:0 +#: field:basic.calendar.lines,calendar_id:0 +#: model:ir.ui.menu,name:caldav.menu_calendar +#: field:user.preference,calendar:0 +msgid "Calendar" +msgstr "" + +#. module: caldav +#: code:addons/caldav/calendar.py:41 +#, python-format +msgid "" +"Please install python-vobject from http://vobject.skyhouseconsulting.com/" +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/calendar_event_import.py:63 +#, python-format +msgid "Invalid format of the ics, file can not be imported" +msgstr "" + +#. module: caldav +#: selection:user.preference,service:0 +msgid "CalDAV" +msgstr "" + +#. module: caldav +#: field:basic.calendar.fields,field_id:0 +msgid "OpenObject Field" +msgstr "" + +#. module: caldav +#: field:basic.calendar.alias,res_id:0 +msgid "Res. ID" +msgstr "" + +#. module: caldav +#: view:calendar.event.subscribe:0 +msgid "Message..." +msgstr "" + +#. module: caldav +#: selection:user.preference,device:0 +msgid "Other" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +#: field:basic.calendar,has_webcal:0 +msgid "WebCal" +msgstr "" + +#. module: caldav +#: view:document.directory:0 +#: model:ir.actions.act_window,name:caldav.action_calendar_collection_form +#: model:ir.ui.menu,name:caldav.menu_calendar_collection +msgid "Calendar Collections" +msgstr "" + +#. module: caldav +#: code:addons/caldav/calendar.py:813 +#: sql_constraint:basic.calendar.alias:0 +#, python-format +msgid "The same filename cannot apply to two records!" +msgstr "" + +#. module: caldav +#: sql_constraint:document.directory:0 +msgid "Directory cannot be parent of itself!" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +#: field:document.directory,calendar_ids:0 +#: model:ir.actions.act_window,name:caldav.action_caldav_form +#: model:ir.ui.menu,name:caldav.menu_caldav_directories +msgid "Calendars" +msgstr "" + +#. module: caldav +#: field:basic.calendar,collection_id:0 +msgid "Collection" +msgstr "" + +#. module: caldav +#: field:basic.calendar,write_date:0 +msgid "Write Date" +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/caldav_browse.py:104 +#, python-format +msgid "" +"\n" +"Prerequire\n" +"----------\n" +"There is no buit-in way to synchronize calendar with caldav.\n" +"So you need to install a third part software : Calendar (CalDav) \n" +"for now it's the only one\n" +"\n" +"configuration\n" +"-------------\n" +"\n" +"1. Open Calendar Sync\n" +" I'll get an interface with 2 tabs\n" +" Stay on the first one\n" +" \n" +"2. CaDAV Calendar URL : put the URL given above (ie : " +"http://host.com:8069/webdav/db/calendars/users/demo/c/Meetings)\n" +"\n" +"3. Put your openerp username and password\n" +"\n" +"4. If your server don't use SSL, you'll get a warnign, say \"Yes\"\n" +"\n" +"5. Then you can synchronize manually or custom the settings to synchronize " +"every x minutes.\n" +" \n" +" " +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/caldav_browse.py:53 +#, python-format +msgid "" +"\n" +" For SSL specific configuration see the documentation below\n" +"\n" +"Now, to setup the calendars, you need to:\n" +"\n" +"1. Click on the \"Settings\" and go to the \"Mail, Contacts, Calendars\" " +"page.\n" +"2. Go to \"Add account...\"\n" +"3. Click on \"Other\"\n" +"4. From the \"Calendars\" group, select \"Add CalDAV Account\"\n" +"\n" +"5. Enter the host's name \n" +" (ie : if the url is http://openerp.com:8069/webdav/db_1/calendars/ , " +"openerp.com is the host)\n" +"\n" +"6. Fill Username and password with your openerp login and password\n" +"\n" +"7. As a description, you can either leave the server's name or\n" +" something like \"OpenERP calendars\".\n" +"\n" +"9. If you are not using a SSL server, you'll get an error, do not worry and " +"push \"Continue\"\n" +"\n" +"10. Then click to \"Advanced Settings\" to specify the right\n" +" ports and paths. \n" +" \n" +"11. Specify the port for the OpenERP server: 8071 for SSL, 8069 without.\n" +"\n" +"12. Set the \"Account URL\" to the right path of the OpenERP webdav:\n" +" the url given by the wizard (ie : " +"http://my.server.ip:8069/webdav/dbname/calendars/ )\n" +"\n" +"11. Click on Done. The phone will hopefully connect to the OpenERP server\n" +" and verify it can use the account.\n" +"\n" +"12. Go to the main menu of the iPhone and enter the Calendar application.\n" +" Your OpenERP calendars will be visible inside the selection of the\n" +" \"Calendars\" button.\n" +" Note that when creating a new calendar entry, you will have to specify\n" +" which calendar it should be saved at.\n" +"\n" +"\n" +"\n" +"IF you need SSL (and your certificate is not a verified one, as usual),\n" +"then you first will need to let the iPhone trust that. Follow these\n" +"steps:\n" +"\n" +" s1. Open Safari and enter the https location of the OpenERP server:\n" +" https://my.server.ip:8071/\n" +" (assuming you have the server at \"my.server.ip\" and the HTTPS port\n" +" is the default 8071)\n" +" s2. Safari will try to connect and issue a warning about the " +"certificate\n" +" used. Inspect the certificate and click \"Accept\" so that iPhone\n" +" now trusts it. \n" +" " +msgstr "" + +#. module: caldav +#: sql_constraint:document.directory:0 +msgid "The directory name must be unique !" +msgstr "" + +#. module: caldav +#: view:user.preference:0 +msgid "User Preference" +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/calendar_event_subscribe.py:59 +#, python-format +msgid "Please provide Proper URL !" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_timezone +msgid "basic.calendar.timezone" +msgstr "" + +#. module: caldav +#: field:basic.calendar.fields,expr:0 +msgid "Expression" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_attendee +msgid "basic.calendar.attendee" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_alias +msgid "basic.calendar.alias" +msgstr "" + +#. module: caldav +#: view:calendar.event.import:0 +#: field:calendar.event.import,file_path:0 +msgid "Select ICS file" +msgstr "" + +#. module: caldav +#: field:caldav.browse,caldav_doc_file:0 +msgid "Caldav Document" +msgstr "" + +#. module: caldav +#: field:basic.calendar.lines,mapping_ids:0 +msgid "Fields Mapping" +msgstr "" + +#. module: caldav +#: view:caldav.browse:0 +msgid "Browse caldav" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar +msgid "basic.calendar" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +msgid "Other Info" +msgstr "" + +#. module: caldav +#: field:user.preference,device:0 +msgid "Software/Devices" +msgstr "" + +#. module: caldav +#: help:basic.calendar,has_webcal:0 +msgid "" +"Also export a .ics entry next to the calendar folder, with WebCal " +"content." +msgstr "" + +#. module: caldav +#: field:basic.calendar.fields,fn:0 +msgid "Function" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +#: field:basic.calendar,description:0 +#: view:caldav.browse:0 +#: field:caldav.browse,description:0 +msgid "Description" +msgstr "" + +#. module: caldav +#: help:basic.calendar.alias,cal_line_id:0 +msgid "The calendar/line this mapping applies to" +msgstr "" + +#. module: caldav +#: field:basic.calendar.fields,mapping:0 +msgid "Mapping" +msgstr "" + +#. module: caldav +#: code:addons/caldav/wizard/calendar_event_import.py:86 +#, python-format +msgid "Import Sucessful" +msgstr "" + +#. module: caldav +#: view:calendar.event.import:0 +msgid "_Import" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_calendar_event_import +msgid "Event Import" +msgstr "" + +#. module: caldav +#: selection:basic.calendar.fields,fn:0 +msgid "Interval in hours" +msgstr "" + +#. module: caldav +#: view:calendar.event.subscribe:0 +msgid "Subscribe to Remote Calendar" +msgstr "" + +#. module: caldav +#: help:basic.calendar,calendar_color:0 +msgid "For supporting clients, the color of the calendar entries" +msgstr "" + +#. module: caldav +#: field:basic.calendar,name:0 +#: field:basic.calendar.attributes,name:0 +#: field:basic.calendar.fields,name:0 +msgid "Name" +msgstr "" + +#. module: caldav +#: selection:basic.calendar.attributes,type:0 +#: selection:basic.calendar.lines,name:0 +msgid "Alarm" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_alarm +msgid "basic.calendar.alarm" +msgstr "" + +#. module: caldav +#: code:addons/caldav/calendar.py:1291 +#, python-format +msgid "Attendee must have an Email Id" +msgstr "" + +#. module: caldav +#: model:ir.actions.act_window,name:caldav.action_calendar_event_export_values +msgid "Export .ics File" +msgstr "" + +#. module: caldav +#: code:addons/caldav/calendar.py:41 +#, python-format +msgid "vobject Import Error!" +msgstr "" + +#. module: caldav +#: field:calendar.event.export,file_path:0 +msgid "Save ICS file" +msgstr "" + +#. module: caldav +#: selection:user.preference,device:0 +msgid "Sunbird/Thunderbird" +msgstr "" + +#. module: caldav +#: field:basic.calendar,calendar_order:0 +msgid "Order" +msgstr "" + +#. module: caldav +#: model:ir.module.module,shortdesc:caldav.module_meta_information +msgid "Share Calendar using CalDAV" +msgstr "" + +#. module: caldav +#: field:basic.calendar,calendar_color:0 +msgid "Color" +msgstr "" + +#. module: caldav +#: view:basic.calendar:0 +msgid "MY" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_fields +msgid "Calendar fields" +msgstr "" + +#. module: caldav +#: view:calendar.event.import:0 +msgid "Import Message" +msgstr "" + +#. module: caldav +#: model:ir.actions.act_window,name:caldav.action_calendar_event_subscribe +#: model:ir.actions.act_window,name:caldav.action_calendar_event_subscribe_values +msgid "Subscribe" +msgstr "" + +#. module: caldav +#: sql_constraint:document.directory:0 +msgid "Directory must have a parent or a storage" +msgstr "" + +#. module: caldav +#: model:ir.model,name:caldav.model_basic_calendar_todo +msgid "basic.calendar.todo" +msgstr "" + +#. module: caldav +#: help:basic.calendar,calendar_order:0 +msgid "For supporting clients, the order of this folder among the calendars" +msgstr "" diff --git a/addons/claim_from_delivery/i18n/zh_CN.po b/addons/claim_from_delivery/i18n/zh_CN.po new file mode 100644 index 00000000000..9d6c10ac3bf --- /dev/null +++ b/addons/claim_from_delivery/i18n/zh_CN.po @@ -0,0 +1,33 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:14+0000\n" +"PO-Revision-Date: 2011-07-04 05:17+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-07-05 04:33+0000\n" +"X-Generator: Launchpad (build 13168)\n" + +#. module: claim_from_delivery +#: model:ir.actions.act_window,name:claim_from_delivery.action_claim_from_delivery +msgid "Claim" +msgstr "索赔" + +#. module: claim_from_delivery +#: model:ir.module.module,description:claim_from_delivery.module_meta_information +msgid "Create Claim from delivery order:\n" +msgstr "创建送货单索赔:\n" + +#. module: claim_from_delivery +#: model:ir.module.module,shortdesc:claim_from_delivery.module_meta_information +msgid "Claim from delivery" +msgstr "送货单索赔" diff --git a/addons/crm/i18n/zh_CN.po b/addons/crm/i18n/zh_CN.po index da15c68eb6e..2b55be47a1e 100644 --- a/addons/crm/i18n/zh_CN.po +++ b/addons/crm/i18n/zh_CN.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: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2011-04-11 11:33+0000\n" -"Last-Translator: lky \n" +"PO-Revision-Date: 2011-07-01 15:43+0000\n" +"Last-Translator: hifly \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-04-29 05:00+0000\n" -"X-Generator: Launchpad (build 12758)\n" +"X-Launchpad-Export-Date: 2011-07-02 05:06+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: crm #: view:crm.lead.report:0 @@ -36,12 +36,12 @@ msgstr "需要服务" #. module: crm #: selection:crm.meeting,rrule_type:0 msgid "Monthly" -msgstr "按月" +msgstr "月度" #. module: crm #: view:crm.opportunity2phonecall:0 msgid "Schedule a PhoneCall" -msgstr "安排一个电话访问" +msgstr "安排一次电话访问" #. module: crm #: model:ir.model,name:crm.model_crm_case_stage @@ -67,7 +67,7 @@ msgstr "显示为" #: field:crm.meeting,day:0 #: selection:crm.meeting,select1:0 msgid "Date of month" -msgstr "月的天数" +msgstr "每月的指定日期" #. module: crm #: view:crm.lead:0 @@ -124,10 +124,10 @@ msgid "The code of the sales team must be unique !" msgstr "销售团队编码必须唯一!" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:93 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:95 #, python-format msgid "Lead '%s' has been converted to an opportunity." -msgstr "线索'%s'已转化商机" +msgstr "线索'%s'已转化为商机" #. module: crm #: code:addons/crm/crm_lead.py:228 @@ -141,8 +141,8 @@ msgid "No Repeat" msgstr "不重复" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:133 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:258 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:135 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:260 #: code:addons/crm/wizard/crm_lead_to_partner.py:55 #: code:addons/crm/wizard/crm_phonecall_to_partner.py:52 #, python-format @@ -152,7 +152,7 @@ msgstr "警告!" #. module: crm #: selection:crm.meeting,rrule_type:0 msgid "Yearly" -msgstr "按年" +msgstr "年度" #. module: crm #: field:crm.segmentation.line,name:0 @@ -172,7 +172,7 @@ msgstr "营销活动" #. module: crm #: selection:crm.lead2opportunity.partner,action:0 msgid "Do not create a partner" -msgstr "不能创建这业务伙伴" +msgstr "不能创建业务伙伴" #. module: crm #: view:crm.lead:0 @@ -184,7 +184,7 @@ msgstr "搜索商机" #, python-format msgid "" "Opportunity must have Partner assigned before merging with other Opportunity." -msgstr "必须要为商机选择一个业务伙伴才能进行商机合并." +msgstr "必须为商机选择业务伙伴才能和其它商机合并." #. module: crm #: code:addons/crm/wizard/crm_merge_opportunities.py:46 @@ -536,9 +536,9 @@ msgstr "第一次与新的潜在客户接触" #. module: crm #: code:addons/crm/crm_lead.py:278 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:195 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:229 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:297 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:197 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:231 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:299 #: view:crm.lead2opportunity:0 #: view:crm.partner2opportunity:0 #: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity @@ -597,7 +597,7 @@ msgstr "销售FAQ" #. module: crm #: model:ir.model,name:crm.model_crm_send_mail_attachment msgid "crm.send.mail.attachment" -msgstr "" +msgstr "crm.send.mail.attachment" #. module: crm #: selection:crm.lead.report,month:0 @@ -805,8 +805,8 @@ msgid "Statistics Dashboard" msgstr "统计控制台" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:86 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:96 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:88 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:98 #: code:addons/crm/wizard/crm_partner_to_opportunity.py:101 #: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:117 #: view:crm.lead:0 @@ -870,7 +870,7 @@ msgstr "事件类型" #. module: crm #: model:ir.model,name:crm.model_crm_installer msgid "crm.installer" -msgstr "" +msgstr "crm.installer" #. module: crm #: field:crm.segmentation,exclusif:0 @@ -1099,7 +1099,7 @@ msgstr "订阅" #. module: crm #: code:addons/crm/crm_opportunity.py:208 -#: code:addons/crm/crm_phonecall.py:184 +#: code:addons/crm/crm_phonecall.py:185 #: code:addons/crm/wizard/crm_phonecall_to_meeting.py:55 #: code:addons/crm/wizard/crm_phonecall_to_meeting.py:137 #: view:crm.meeting:0 @@ -2610,7 +2610,7 @@ msgid "Meeting Type" msgstr "会议类型" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:312 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:314 #, python-format msgid "Merge with Existing Opportunity" msgstr "合并现有的商机" @@ -3128,8 +3128,8 @@ msgid "Schedule Call" msgstr "计划的电话访问" #. module: crm -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:133 -#: code:addons/crm/wizard/crm_lead_to_opportunity.py:258 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:135 +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:260 #, python-format msgid "Closed/Cancelled Leads Could not convert into Opportunity" msgstr "已结束/已取消的线索不能转换为商机" diff --git a/addons/marketing_campaign/i18n/zh_CN.po b/addons/marketing_campaign/i18n/zh_CN.po index fead6d161a3..95aafae0f40 100644 --- a/addons/marketing_campaign/i18n/zh_CN.po +++ b/addons/marketing_campaign/i18n/zh_CN.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-07-01 04:54+0000\n" +"X-Launchpad-Export-Date: 2011-07-02 05:06+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: marketing_campaign diff --git a/addons/mrp/i18n/zh_CN.po b/addons/mrp/i18n/zh_CN.po index c9b0a72865f..0a8750fa20b 100644 --- a/addons/mrp/i18n/zh_CN.po +++ b/addons/mrp/i18n/zh_CN.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: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2011-01-28 05:53+0000\n" +"PO-Revision-Date: 2011-07-02 15:27+0000\n" "Last-Translator: Wei \"oldrev\" Li \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-04-29 04:51+0000\n" -"X-Generator: Launchpad (build 12758)\n" +"X-Launchpad-Export-Date: 2011-07-03 04:45+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: mrp #: field:mrp.production,move_created_ids:0 @@ -35,7 +35,7 @@ msgstr "" #. module: mrp #: help:mrp.production,location_src_id:0 msgid "Location where the system will look for components." -msgstr "" +msgstr "系统用于查找部件的位置。" #. module: mrp #: field:mrp.production,workcenter_lines:0 @@ -107,7 +107,7 @@ msgstr "工艺路线" #. module: mrp #: field:mrp.workcenter,product_id:0 msgid "Work Center Product" -msgstr "" +msgstr "工作中心产品" #. module: mrp #: view:mrp.bom:0 @@ -165,7 +165,7 @@ msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_purchaseprocure0 msgid "The system launches automatically a RFQ to the preferred supplier." -msgstr "" +msgstr "系统将自动向首选供应商发起询价单。" #. module: mrp #: view:mrp.production:0 @@ -227,7 +227,7 @@ msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_purchaseprocure0 msgid "For purchased material" -msgstr "" +msgstr "用于采购原料" #. module: mrp #: field:mrp.bom.revision,indice:0 @@ -273,7 +273,7 @@ msgstr "目标库位" #. module: mrp #: view:mrp.installer:0 msgid "title" -msgstr "" +msgstr "标题" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_bom @@ -320,7 +320,7 @@ msgstr "八月" #. module: mrp #: constraint:stock.move:0 msgid "You try to assign a lot which is not from the same product" -msgstr "" +msgstr "您尝试为另外的产品赋予批次" #. module: mrp #: model:ir.model,name:mrp.model_mrp_production_order @@ -335,7 +335,7 @@ msgstr "六月" #. module: mrp #: model:ir.model,name:mrp.model_mrp_product_produce msgid "Product Produce" -msgstr "" +msgstr "产品生产" #. module: mrp #: selection:mrp.production.order,month:0 @@ -370,7 +370,7 @@ msgstr "数量" #. module: mrp #: field:mrp.production.workcenter.line,hour:0 msgid "Nbr of hours" -msgstr "" +msgstr "小时数" #. module: mrp #: view:mrp.production:0 @@ -399,7 +399,7 @@ msgstr "维修" #. module: mrp #: field:mrp.installer,stock_location:0 msgid "Advanced Routes" -msgstr "" +msgstr "高级路线" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_search_mrp @@ -468,7 +468,7 @@ msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_serviceproduct1 msgid "For Services." -msgstr "" +msgstr "用于服务。" #. module: mrp #: field:mrp.bom.revision,date:0 @@ -486,13 +486,13 @@ msgstr "如果你需要生产单的自动辅助核算项目凭证只有完成这 #. module: mrp #: field:mrp.production.workcenter.line,cycle:0 msgid "Nbr of cycles" -msgstr "" +msgstr "周期数" #. module: mrp #: model:process.node,note:mrp.process_node_orderrfq0 #: model:process.node,note:mrp.process_node_rfq0 msgid "Request for Quotation." -msgstr "" +msgstr "询价单" #. module: mrp #: model:process.transition,note:mrp.process_transition_billofmaterialrouting0 @@ -540,7 +540,7 @@ msgstr "物料清单结构" #. module: mrp #: view:mrp.production:0 msgid "Search Production" -msgstr "" +msgstr "搜索产品" #. module: mrp #: code:addons/mrp/report/price.py:130 @@ -575,7 +575,7 @@ msgstr "" #: view:mrp.production.order:0 #: selection:mrp.production.order,state:0 msgid "Picking Exception" -msgstr "" +msgstr "领料异常" #. module: mrp #: field:mrp.bom,bom_lines:0 @@ -617,7 +617,7 @@ msgstr "错误!你不能创建递归的物料清单" #: model:ir.model,name:mrp.model_mrp_workcenter_load #: model:ir.model,name:mrp.model_report_workcenter_load msgid "Work Center Load" -msgstr "" +msgstr "工作中心负载" #. module: mrp #: code:addons/mrp/procurement.py:45 @@ -663,7 +663,7 @@ msgstr "一个周期的工作小时数" #. module: mrp #: report:bom.structure:0 msgid "BOM Ref" -msgstr "" +msgstr "物料表编号" #. module: mrp #: view:mrp.production:0 @@ -676,7 +676,7 @@ msgstr "生产中" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_property msgid "Master Bill of Materials" -msgstr "" +msgstr "主物料表" #. module: mrp #: help:mrp.bom,product_uos:0 @@ -702,12 +702,12 @@ msgstr "类型" #: code:addons/mrp/report/price.py:201 #, python-format msgid "Total Cost of " -msgstr "" +msgstr "总成本 " #. module: mrp #: model:process.node,note:mrp.process_node_minimumstockrule0 msgid "Linked to the 'Minimum stock rule' supplying method." -msgstr "" +msgstr "链接到“最小库存规则”供货方式" #. module: mrp #: selection:mrp.workcenter.load,time_unit:0 @@ -715,7 +715,7 @@ msgid "Per month" msgstr "每月" #. module: mrp -#: code:addons/mrp/mrp.py:591 +#: code:addons/mrp/mrp.py:595 #: code:addons/mrp/wizard/change_production_qty.py:77 #: code:addons/mrp/wizard/change_production_qty.py:82 #, python-format @@ -728,7 +728,7 @@ msgid "Product Name" msgstr "产品名称" #. module: mrp -#: code:addons/mrp/mrp.py:491 +#: code:addons/mrp/mrp.py:495 #, python-format msgid "Invalid action !" msgstr "无效动作" @@ -798,7 +798,7 @@ msgstr "紧急" #. module: mrp #: model:ir.model,name:mrp.model_mrp_routing_workcenter msgid "Work Center Usage" -msgstr "" +msgstr "工作中心使用情况" #. module: mrp #: model:ir.model,name:mrp.model_mrp_production @@ -879,7 +879,7 @@ msgstr "公司" #: model:process.node,name:mrp.process_node_minimumstockrule0 #: model:process.node,name:mrp.process_node_productminimumstockrule0 msgid "Minimum Stock" -msgstr "" +msgstr "最小库存" #. module: mrp #: model:ir.ui.menu,name:mrp.menus_dash_mrp @@ -889,7 +889,7 @@ msgstr "仪表盘" #. module: mrp #: view:board.board:0 msgid "Work Center Future Load" -msgstr "" +msgstr "工作中心未来负载" #. module: mrp #: model:process.node,name:mrp.process_node_stockproduct0 @@ -902,7 +902,7 @@ msgstr "可库存产品" #: code:addons/mrp/report/price.py:121 #, python-format msgid "Work Center name" -msgstr "" +msgstr "工作中心名称" #. module: mrp #: field:mrp.routing,code:0 @@ -917,7 +917,7 @@ msgstr "小时编号" #. module: mrp #: field:mrp.installer,mrp_jit:0 msgid "Just In Time Scheduling" -msgstr "" +msgstr "及时生产计划" #. module: mrp #: view:mrp.property:0 @@ -1000,7 +1000,7 @@ msgstr "" #. module: mrp #: report:bom.structure:0 msgid "BOM Name" -msgstr "" +msgstr "物料表名称" #. module: mrp #: view:mrp.production:0 @@ -1011,17 +1011,17 @@ msgstr "启动生产" #: model:ir.actions.act_window,name:mrp.open_board_manufacturing #: model:ir.ui.menu,name:mrp.menu_board_manufacturing msgid "Production Dashboard" -msgstr "" +msgstr "生产仪表盘" #. module: mrp #: view:mrp.production:0 msgid "Source Loc." -msgstr "" +msgstr "来源位置" #. module: mrp #: field:mrp.bom,position:0 msgid "Internal Reference" -msgstr "" +msgstr "内部单号" #. module: mrp #: help:mrp.installer,stock_location:0 @@ -1033,7 +1033,7 @@ msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_billofmaterial0 msgid "Product's structure" -msgstr "" +msgstr "产品结构" #. module: mrp #: field:mrp.bom,name:0 @@ -1294,7 +1294,7 @@ msgid "Month -1" msgstr "" #. module: mrp -#: code:addons/mrp/mrp.py:914 +#: code:addons/mrp/mrp.py:924 #, python-format msgid "Manufacturing order '%s' is scheduled for the %s." msgstr "" @@ -1305,7 +1305,7 @@ msgid "Production Order N° :" msgstr "生产单号:" #. module: mrp -#: code:addons/mrp/mrp.py:630 +#: code:addons/mrp/mrp.py:640 #, python-format msgid "Manufacturing order '%s' is ready to produce." msgstr "" @@ -1534,7 +1534,7 @@ msgid "Manufacturing Orders To Start" msgstr "" #. module: mrp -#: code:addons/mrp/mrp.py:491 +#: code:addons/mrp/mrp.py:495 #, python-format msgid "Cannot delete Production Order(s) which are in %s State!" msgstr "" @@ -1624,7 +1624,7 @@ msgid "Production Analysis" msgstr "" #. module: mrp -#: code:addons/mrp/mrp.py:345 +#: code:addons/mrp/mrp.py:349 #, python-format msgid "Copy" msgstr "" @@ -2113,7 +2113,7 @@ msgid "Product type is Stockable or Consumable." msgstr "" #. module: mrp -#: code:addons/mrp/mrp.py:591 +#: code:addons/mrp/mrp.py:595 #: code:addons/mrp/wizard/change_production_qty.py:77 #: code:addons/mrp/wizard/change_production_qty.py:82 #, python-format diff --git a/addons/project_issue_sheet/i18n/zh_CN.po b/addons/project_issue_sheet/i18n/zh_CN.po new file mode 100644 index 00000000000..eda41afa445 --- /dev/null +++ b/addons/project_issue_sheet/i18n/zh_CN.po @@ -0,0 +1,80 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:15+0000\n" +"PO-Revision-Date: 2011-07-02 03:48+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-07-03 04:47+0000\n" +"X-Generator: Launchpad (build 13168)\n" + +#. module: project_issue_sheet +#: model:ir.module.module,description:project_issue_sheet.module_meta_information +msgid "" +"\n" +" This module adds the Timesheet support for the " +"Issues/Bugs Management in Project\n" +" " +msgstr "" +"\n" +" 此模块把缺陷管理和计工单集成在一起了\n" +" " + +#. module: project_issue_sheet +#: model:ir.model,name:project_issue_sheet.model_account_analytic_line +msgid "Analytic Line" +msgstr "辅助核算明细" + +#. module: project_issue_sheet +#: model:ir.model,name:project_issue_sheet.model_project_issue +msgid "Project Issue" +msgstr "缺陷" + +#. module: project_issue_sheet +#: model:ir.model,name:project_issue_sheet.model_hr_analytic_timesheet +msgid "Timesheet Line" +msgstr "计工单明细" + +#. module: project_issue_sheet +#: view:project.issue:0 +msgid "Timesheet" +msgstr "计工单" + +#. module: project_issue_sheet +#: field:project.issue,analytic_account_id:0 +msgid "Analytic Account" +msgstr "辅助核算项目" + +#. module: project_issue_sheet +#: view:project.issue:0 +msgid "Worklogs" +msgstr "工作记录" + +#. module: project_issue_sheet +#: field:account.analytic.line,create_date:0 +msgid "Create Date" +msgstr "创建日期" + +#. module: project_issue_sheet +#: field:project.issue,timesheet_ids:0 +msgid "Timesheets" +msgstr "计工单" + +#. module: project_issue_sheet +#: model:ir.module.module,shortdesc:project_issue_sheet.module_meta_information +msgid "Add the Timesheet support for Issue Management in Project Management" +msgstr "对缺陷管理增加了计工单支持" + +#. module: project_issue_sheet +#: field:hr.analytic.timesheet,issue_id:0 +msgid "Issue" +msgstr "缺陷" diff --git a/addons/project_messages/i18n/zh_CN.po b/addons/project_messages/i18n/zh_CN.po index 46e3abbe785..51983dae2b3 100644 --- a/addons/project_messages/i18n/zh_CN.po +++ b/addons/project_messages/i18n/zh_CN.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-01-11 11:15+0000\n" -"PO-Revision-Date: 2011-06-28 16:43+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2011-07-02 15:15+0000\n" +"Last-Translator: Wei \"oldrev\" Li \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-06-29 04:43+0000\n" +"X-Launchpad-Export-Date: 2011-07-03 04:47+0000\n" "X-Generator: Launchpad (build 13168)\n" #. module: project_messages @@ -36,7 +36,7 @@ msgstr "发件人" #: model:ir.actions.act_window,name:project_messages.messages_form #: model:ir.ui.menu,name:project_messages.menu_messages_form msgid "Communication Messages" -msgstr "" +msgstr "通信消息管理" #. module: project_messages #: view:project.messages:0 diff --git a/addons/report_webkit_sample/i18n/de.po b/addons/report_webkit_sample/i18n/de.po index f89a9216dc4..14b87dbdadb 100644 --- a/addons/report_webkit_sample/i18n/de.po +++ b/addons/report_webkit_sample/i18n/de.po @@ -8,15 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-01-11 11:16+0000\n" -"PO-Revision-Date: 2010-12-31 10:19+0000\n" -"Last-Translator: Thorsten Vocks (OpenBig.org) \n" +"PO-Revision-Date: 2011-07-02 13:05+0000\n" +"Last-Translator: Ferdinand @ Camptocamp \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-04-29 05:54+0000\n" -"X-Generator: Launchpad (build 12758)\n" +"X-Launchpad-Export-Date: 2011-07-03 04:47+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: report_webkit_sample #: model:ir.actions.report.xml,name:report_webkit_sample.report_webkit_html @@ -24,12 +23,12 @@ msgid "WebKit invoice" msgstr "Webkit Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Lieferanten Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Preis/ME" @@ -65,92 +64,92 @@ msgid "Webkit Report Samples" msgstr "Beispiele Webkit Reports" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Rabatt (%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Dokument" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Beschreibung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Preis" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Datum Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "Anz." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "Steuergrundbetrag" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Partner Ref." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "Steuern" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "Betrag" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" -msgstr "USt." +msgstr "UID" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "Gutschrift" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Tel." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "E-Mail" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "Lieferanten Gutschrift" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Summe"