From 5d67b0fe7430344d3ba9f44a6e65c406625422c2 Mon Sep 17 00:00:00 2001 From: "RGA (OpenERP)" Date: Thu, 11 Nov 2010 16:34:20 +0530 Subject: [PATCH 001/120] [IMP] group by header should display how many children it has bzr revid: rga@tinyerp.com-20101111110420-ay27xo0a5g98f7aq --- bin/osv/orm.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 2b7fe0ce989..2f29d413e31 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -2240,7 +2240,7 @@ class orm(orm_template): fget = self.fields_get(cr, uid, fields) float_int_fields = filter(lambda x: fget[x]['type'] in ('float', 'integer'), fields) flist = '' - group_by = groupby + group_count = group_by = groupby if groupby: if fget.get(groupby): if fget[groupby]['type'] in ('date', 'datetime'): @@ -2270,7 +2270,9 @@ class orm(orm_template): where_clause = where_clause and ' WHERE ' + where_clause limit_str = limit and ' limit %d' % limit or '' offset_str = offset and ' offset %d' % offset or '' - cr.execute('SELECT min(%s.id) AS id,' % self._table + flist + ' FROM ' + from_clause + where_clause + gb + limit_str + offset_str, where_clause_params) + if len(groupby_list) < 2 and context.get('group_by_no_leaf'): + group_count = '_' + cr.execute('SELECT min(%s.id) AS id, count(%s.id) AS %s_count, ' % (self._table, self._table, group_count) + flist + ' FROM ' + from_clause + where_clause + gb + limit_str + offset_str, where_clause_params) alldata = {} groupby = group_by for r in cr.dictfetchall(): From 329bfb0d18a37fa1f1dcb5c222e72cb8345f00c3 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 16:59:25 +0200 Subject: [PATCH 002/120] tools: Initial version of test_reports utility With this utility module, YAML tests (or others) can quickly check a (pdf) report. bzr revid: p_christ@hol.gr-20101116145925-z4lshbefogbwz7r9 --- bin/tools/test_reports.py | 91 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 bin/tools/test_reports.py diff --git a/bin/tools/test_reports.py b/bin/tools/test_reports.py new file mode 100644 index 00000000000..b6d0ec6b714 --- /dev/null +++ b/bin/tools/test_reports.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2010 OpenERP s.a. (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +""" Helper functions for reports testing. + + Please /do not/ import this file by default, but only explicitly call it + through the code of yaml tests. +""" + +import netsvc +import tools +import logging +from subprocess import Popen, PIPE +import os +import tempfile + +def try_report(cr, uid, rname, ids, data=None, context=None): + """ Try to render a report with contents of ids + + This function should also check for common pitfalls of reports. + """ + log = logging.getLogger('tools.test_reports') + if data is None: + data = {} + if context is None: + context = {} + if rname.startswith('report.'): + rname_s = rname[7:] + else: + rname_s = rname + log.debug("Trying %s.create(%r)", rname, ids) + res = netsvc.LocalService(rname).create(cr, uid, ids, data, context) + if not isinstance(res, tuple): + raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \ + (rname, type(res))) + (res_data, res_format) = res + + if not res_data: + raise ValueError("Report %s produced an empty result!" % rname) + + if tools.config['test_report_directory']: + file(os.path.join(tools.config['test_report_directory'], rname+ '.'+res_format), 'wb+').write(res_data) + + log.debug("Have a %s report for %s, will examine it", res_format, rname) + if res_format == 'pdf': + if res_data[:5] != '%PDF-': + raise ValueError("Report %s produced a non-pdf header, %r" % (rname, res_data[:10])) + + res_text = False + try: + fd, rfname = tempfile.mkstemp(suffix=res_format) + os.write(fd, res_data) + os.close(fd) + + fp = Popen(['pdftotext', '-enc', 'UTF-8', '-nopgbrk', rfname, '-'], shell=False, stdout=PIPE).stdout + res_text = tools.ustr(fp.read()) + os.unlink(rfname) + except Exception: + log.warning("Cannot extract report's text:", exc_info=True) + + if res_text is not False: + for line in res_text.split('\n'): + if ('[[' in line) or ('[ [' in line): + log.error("Report %s may have bad expression near: \"%s\".", rname, line[80:]) + # TODO more checks, what else can be a sign of a faulty report? + elif res_format == 'foobar': + # TODO + pass + else: + log.warning("Report %s produced a \"%s\" chunk, cannot examine it", rname, res_format) + + return True +#eof From 63d562de395face054ae4f55c576782a2795e6f4 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 17:00:25 +0200 Subject: [PATCH 003/120] ORM: fix bug at orm.copy_data(), would reset context[lang] Thanks to Dr. Gassauer that made me revise this code. bzr revid: p_christ@hol.gr-20101116150025-ssyiix1c72t04fbk --- bin/osv/orm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 496d569a29c..ef2ca8e171a 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -4096,7 +4096,7 @@ class orm(orm_template): else: default['state'] = self._defaults['state'] - context_wo_lang = context + context_wo_lang = context.copy() if 'lang' in context: del context_wo_lang['lang'] data = self.read(cr, uid, [id], context=context_wo_lang)[0] From 4187facd9f033bc4b9e4eda8f81dcc6cc2bb3784 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 17:00:47 +0200 Subject: [PATCH 004/120] ORM: Better message when copying non-existing records by: jvo@openerp.com In both cases, we end up with an exception. But it is better to know which model+id has failed. bzr revid: p_christ@hol.gr-20101116150047-xtyz8nrt6465ug2k --- bin/osv/orm.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index ef2ca8e171a..0d37f5afc15 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -4099,7 +4099,11 @@ class orm(orm_template): context_wo_lang = context.copy() if 'lang' in context: del context_wo_lang['lang'] - data = self.read(cr, uid, [id], context=context_wo_lang)[0] + data = self.read(cr, uid, [id,], context=context_wo_lang) + if data: + data = data[0] + else: + raise IndexError( _("Record #%d of %s not found, cannot copy!") %( id, self._name)) fields = self.fields_get(cr, uid, context=context) for f in fields: From 08ef1a95f1d60df8fb777b9022b17fc6091b274e Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 17:04:35 +0200 Subject: [PATCH 005/120] ORM: deprecate check_recursion() in favour of _check_recursion() bzr revid: p_christ@hol.gr-20101116150435-jfmjah8ookf11x3y --- bin/osv/orm.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 0d37f5afc15..d7b406c0f3d 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -4214,6 +4214,12 @@ class orm(orm_template): return cr.fetchone()[0] == len(ids) def check_recursion(self, cr, uid, ids, parent=None): + warnings.warn("You are using deprecated %s.check_recursion(). Please use the '_check_recursion()' instead!" % \ + self._name, DeprecationWarning, stacklevel=3) + assert ' ' not in (parent or '') + return self._check_recursion(cr, uid, ids, parent) + + def _check_recursion(self, cr, uid, ids, parent=None): """ Verifies that there is no loop in a hierarchical structure of records, by following the parent relationship using the **parent** field until a loop From 8ce5d2bc20fb631a3df359c667c344d4c7aafa92 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 17:05:37 +0200 Subject: [PATCH 006/120] tools/misc: prevent icon names from being translated They are identifier strings, not human-readable. bzr revid: p_christ@hol.gr-20101116150537-s7tyw7d6y0r1dl6c --- bin/tools/misc.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 90b4c135214..79121eb89c9 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -1125,7 +1125,7 @@ def debug(what): netsvc.Logger().notifyChannel(st[3], netsvc.LOG_DEBUG, what) -icons = map(lambda x: (x,x), ['STOCK_ABOUT', 'STOCK_ADD', 'STOCK_APPLY', 'STOCK_BOLD', +__icons_list = ['STOCK_ABOUT', 'STOCK_ADD', 'STOCK_APPLY', 'STOCK_BOLD', 'STOCK_CANCEL', 'STOCK_CDROM', 'STOCK_CLEAR', 'STOCK_CLOSE', 'STOCK_COLOR_PICKER', 'STOCK_CONNECT', 'STOCK_CONVERT', 'STOCK_COPY', 'STOCK_CUT', 'STOCK_DELETE', 'STOCK_DIALOG_AUTHENTICATION', 'STOCK_DIALOG_ERROR', 'STOCK_DIALOG_INFO', @@ -1161,7 +1161,11 @@ icons = map(lambda x: (x,x), ['STOCK_ABOUT', 'STOCK_ADD', 'STOCK_APPLY', 'STOCK_ 'terp-gdu-smart-failing','terp-go-week','terp-gtk-select-all','terp-locked','terp-mail-forward', 'terp-mail-message-new','terp-mail-replied','terp-rating-rated','terp-stage','terp-stock_format-scientific', 'terp-dolar_ok!','terp-idea','terp-stock_format-default','terp-mail-','terp-mail_delete' -]) +] + +def icons(*a, **kw): + global __icons_list + return [(x, x) for x in __icons_list ] def extract_zip_file(zip_file, outdirectory): zf = zipfile.ZipFile(zip_file, 'r') From e34769a59d517e4206225e9e37c225b61b9c63c6 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 17:06:07 +0200 Subject: [PATCH 007/120] module wizards: improve over trivial rpc errors bzr revid: p_christ@hol.gr-20101116150607-qh03n3w225j6xh8v --- bin/addons/base/module/wizard/base_language_install.py | 4 +++- bin/addons/base/module/wizard/base_update_translations.py | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/module/wizard/base_language_install.py b/bin/addons/base/module/wizard/base_language_install.py index 9cdae41ad2b..f7b469f85ed 100644 --- a/bin/addons/base/module/wizard/base_language_install.py +++ b/bin/addons/base/module/wizard/base_language_install.py @@ -38,7 +38,9 @@ class base_language_install(osv.osv_memory): 'state': 'init', 'overwrite': False } - def lang_install(self, cr, uid, ids, context): + def lang_install(self, cr, uid, ids, context=None): + if context is None: + context = {} language_obj = self.browse(cr, uid, ids)[0] lang = language_obj.lang if lang: diff --git a/bin/addons/base/module/wizard/base_update_translations.py b/bin/addons/base/module/wizard/base_update_translations.py index b413e9d7093..6b329cf1212 100644 --- a/bin/addons/base/module/wizard/base_update_translations.py +++ b/bin/addons/base/module/wizard/base_update_translations.py @@ -35,7 +35,7 @@ class base_update_translations(osv.osv_memory): lang_obj=pooler.get_pool(cr.dbname).get('res.lang') ids=lang_obj.search(cr, uid, [('code', '=', lang_code)]) if not ids: - raise osv.except_osv(_('No language with code "%s" exists') % lang_code) + raise osv.except_osv(_('Error!'), _('No language with code "%s" exists') % lang_code) lang = lang_obj.browse(cr, uid, ids[0]) return lang.name def act_cancel(self, cr, uid, ids, context=None): @@ -51,12 +51,14 @@ class base_update_translations(osv.osv_memory): return {'type': 'ir.actions.act_window_close'} def default_get(self, cr, uid, fields, context=None): + if context is None: + context = {} res = super(base_update_translations, self).default_get(cr, uid, fields, context=context) if context.get('active_model') != "res.lang": return res - record_id = context and context.get('active_id', False) or False + record_id = context.get('active_id', False) or False if record_id: lang = self.pool.get('res.lang').browse(cr, uid, record_id).code res.update(lang=lang) From 3e32b3406019c85a8f84f9f2402b35aac85818e3 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 17:07:53 +0200 Subject: [PATCH 008/120] base_data: fix English typo bzr revid: p_christ@hol.gr-20101116150753-k60y3sfqn40goppr --- bin/addons/base/base_data.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/addons/base/base_data.xml b/bin/addons/base/base_data.xml index b907f8d19d6..acdd45fba4f 100644 --- a/bin/addons/base/base_data.xml +++ b/bin/addons/base/base_data.xml @@ -989,7 +989,7 @@ Zambia zm - + Zaire zr From cfdd34d511aeda2b8937a19aaeb4948c16d76665 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 18:20:25 +0200 Subject: [PATCH 009/120] web_services: implement os timestamp query. The os user and sys elapsed times are very useful for performance metrics, they can tell us how much did the openerp server try for some operation. Conflicts: bin/service/web_services.py bzr revid: p_christ@hol.gr-20101116162025-go5lx4qs658pt7t5 --- bin/service/web_services.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/service/web_services.py b/bin/service/web_services.py index df42d8736ce..7054be9597e 100644 --- a/bin/service/web_services.py +++ b/bin/service/web_services.py @@ -385,7 +385,7 @@ class common(_ObjectService): 'login_message','get_stats', 'check_connectivity', 'list_http_services']: pass - elif method in ['get_available_updates', 'get_migration_scripts', 'set_loglevel']: + elif method in ['get_available_updates', 'get_migration_scripts', 'set_loglevel', 'get_os_time']: passwd = params[0] params = params[1:] security.check_super(passwd) @@ -567,6 +567,9 @@ GNU Public Licence. def exp_check_connectivity(self): return bool(sql_db.db_connect('template1')) + + def exp_get_os_time(self): + return os.times() common() From 89c40dec2f4933790c82c130e2a47bb46396937a Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 18:35:10 +0200 Subject: [PATCH 010/120] translate: fix scanning the ir.models for translations The loop would only consider models that have >0 records registered in ir.model.data. This is merge of commits 3988ebf4dc130, 070e7d6ac717de and adapt to trunk. bzr revid: p_christ@hol.gr-20101116163510-yemzlcy0f0yk893l --- bin/tools/translate.py | 49 ++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/bin/tools/translate.py b/bin/tools/translate.py index c75153cdde8..686f9677b43 100644 --- a/bin/tools/translate.py +++ b/bin/tools/translate.py @@ -499,13 +499,21 @@ def trans_generate(lang, modules, dbname=None): query = 'SELECT name, model, res_id, module' \ ' FROM ir_model_data' + + query_models = """SELECT m.id, m.model, imd.module + FROM ir_model AS m, ir_model_data AS imd + WHERE m.id = imd.res_id AND imd.model = 'ir.model' """ + if 'all_installed' in modules: query += ' WHERE module IN ( SELECT name FROM ir_module_module WHERE state = \'installed\') ' + query_models += " AND imd.module in ( SELECT name FROM ir_module_module WHERE state = 'installed') " query_param = None if 'all' not in modules: query += ' WHERE module IN %s' + query_models += ' AND imd.module in %s' query_param = (tuple(modules),) query += ' ORDER BY module, model, name' + query_models += ' ORDER BY module, model' cr.execute(query, query_param) @@ -637,20 +645,7 @@ def trans_generate(lang, modules, dbname=None): except (IOError, etree.XMLSyntaxError): logging.getLogger("i18n").exception("couldn't export translation for report %s %s %s", name, report_type, fname) - model_obj = pool.get(model) - def push_constraint_msg(module, term_type, model, msg): - # Check presence of __call__ directly instead of using - # callable() because it will be deprecated as of Python 3.0 - if not hasattr(msg, '__call__'): - push_translation(module, term_type, model, 0, encode(msg)) - - for constraint in model_obj._constraints: - push_constraint_msg(module, 'constraint', model, constraint[1]) - - for constraint in model_obj._sql_constraints: - push_constraint_msg(module, 'sql_constraint', model, constraint[2]) - - for field_name,field_def in model_obj._columns.items(): + for field_name,field_def in obj._table._columns.items(): if field_def.translate: name = model + "," + field_name try: @@ -659,6 +654,32 @@ def trans_generate(lang, modules, dbname=None): trad = '' push_translation(module, 'model', name, xml_name, encode(trad)) + # End of data for ir.model.data query results + + cr.execute(query_models, query_param) + + def push_constraint_msg(module, term_type, model, msg): + # Check presence of __call__ directly instead of using + # callable() because it will be deprecated as of Python 3.0 + if not hasattr(msg, '__call__'): + push_translation(module, term_type, model, 0, encode(msg)) + + for (model_id, model, module) in cr.fetchall(): + module = encode(module) + model = encode(model) + + model_obj = pool.get(model) + + if not model_obj: + logging.getLogger("i18n").error("Unable to find object %r", model) + continue + + for constraint in getattr(model_obj, '_constraints', []): + push_constraint_msg(module, 'constraint', model, constraint[1]) + + for constraint in getattr(model_obj, '_sql_constraints', []): + push_constraint_msg(module, 'sql_constraint', model, constraint[2]) + # parse source code for _() calls def get_module_from_path(path, mod_paths=None): if not mod_paths: From 406e8aaba6d3d4ca52df2456ef79b45b70c19565 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 16 Nov 2010 18:35:36 +0200 Subject: [PATCH 011/120] ORM: do import warnings, needed for _check_recursion() earlier patch bzr revid: p_christ@hol.gr-20101116163536-jmfxkzagrq5fcrx8 --- bin/osv/orm.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index d7b406c0f3d..5cf0e08a02e 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -41,6 +41,7 @@ import calendar import copy import datetime import logging +import warnings import operator import pickle import re From 1f380f050417c247e40f2f29d14d6c1fbd80360e Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Wed, 17 Nov 2010 13:52:32 +0200 Subject: [PATCH 012/120] web-services: new "get_sqlcount" call Useful for automated statistics, returns the global SQL counter of queries. It does not affect any counters, and will print a warning if debug_sql is not enabled (counter would be zero, then). bzr revid: p_christ@hol.gr-20101117115232-olq747j4vmauqgy8 --- bin/service/web_services.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/service/web_services.py b/bin/service/web_services.py index 7054be9597e..0af15691bea 100644 --- a/bin/service/web_services.py +++ b/bin/service/web_services.py @@ -36,6 +36,7 @@ import release import sql_db import tools import locale +import logging from cStringIO import StringIO class db(netsvc.ExportService): @@ -385,7 +386,7 @@ class common(_ObjectService): 'login_message','get_stats', 'check_connectivity', 'list_http_services']: pass - elif method in ['get_available_updates', 'get_migration_scripts', 'set_loglevel', 'get_os_time']: + elif method in ['get_available_updates', 'get_migration_scripts', 'set_loglevel', 'get_os_time', 'get_sqlcount']: passwd = params[0] params = params[1:] security.check_super(passwd) @@ -571,6 +572,12 @@ GNU Public Licence. def exp_get_os_time(self): return os.times() + def exp_get_sqlcount(self): + logger = logging.getLogger('db.cursor') + if not logger.isEnabledFor(logging.DEBUG_SQL): + logger.warning("Counters of SQL will not be reliable unless DEBUG_SQL is set at the server's config.") + return sql_db.sql_counter + common() class objects_proxy(netsvc.ExportService): From 34dbad4d9c30852d3b90e956ac9c29befcc9c6f4 Mon Sep 17 00:00:00 2001 From: rch-openerp Date: Thu, 18 Nov 2010 14:29:33 +0530 Subject: [PATCH 013/120] [Merge]: Merge from lp:~openerp-dev/openobject-server/report_server. bzr revid: rch@tinyerp.com-20101118085933-xf4cay4dub5ff4s2 --- bin/addons/base/i18n/vi.po | 1010 ++++++++++++------------------- bin/addons/base/res/res_user.py | 2 +- 2 files changed, 374 insertions(+), 638 deletions(-) diff --git a/bin/addons/base/i18n/vi.po b/bin/addons/base/i18n/vi.po index 801798fc0d0..7b0573164c5 100644 --- a/bin/addons/base/i18n/vi.po +++ b/bin/addons/base/i18n/vi.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2010-11-18 16:11+0000\n" -"PO-Revision-Date: 2010-11-18 18:02+0000\n" -"Last-Translator: Phong Nguyen \n" +"POT-Creation-Date: 2010-10-18 17:46+0000\n" +"PO-Revision-Date: 2010-11-16 07:28+0000\n" +"Last-Translator: OpenERP Administrators \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-19 04:48+0000\n" +"X-Launchpad-Export-Date: 2010-11-17 04:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base @@ -24,17 +24,17 @@ msgstr "" #: field:ir.rule,domain_force:0 #: field:res.partner.title,domain:0 msgid "Domain" -msgstr "Vùng" +msgstr "Domain" #. module: base #: model:res.country,name:base.sh msgid "Saint Helena" -msgstr "Saint Helena" +msgstr "" #. module: base #: view:ir.actions.report.xml:0 msgid "Other Configuration" -msgstr "Cấu hình khác" +msgstr "Other Configuration" #. module: base #: view:res.lang:0 @@ -50,7 +50,7 @@ msgstr "Ngày giờ" #: view:ir.values:0 #: field:ir.values,meta_unpickle:0 msgid "Metadata" -msgstr "Siêu dữ liệu" +msgstr "" #. module: base #: field:ir.ui.view,arch:0 @@ -67,7 +67,7 @@ msgstr "Bạn không thể tạo loại tài liệu này (%s)" #. module: base #: field:base.language.import,code:0 msgid "Code (eg:en__US)" -msgstr "Mã (ví dụ en_US)" +msgstr "" #. module: base #: view:workflow:0 @@ -89,16 +89,6 @@ msgstr "" msgid "Hungarian / Magyar" msgstr "" -#. module: base -#: selection:ir.model.fields,select_level:0 -msgid "Not Searchable" -msgstr "" - -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (VE) / Español (VE)" -msgstr "" - #. module: base #: field:ir.actions.server,wkf_model_id:0 msgid "Workflow On" @@ -122,7 +112,7 @@ msgstr "" #. module: base #: field:res.partner,ref:0 msgid "Reference" -msgstr "Tham khảo" +msgstr "Reference" #. module: base #: field:ir.actions.act_window,target:0 @@ -132,7 +122,7 @@ msgstr "" #. module: base #: model:res.country,name:base.kr msgid "South Korea" -msgstr "Nam Triều tiên" +msgstr "" #. module: base #: model:ir.actions.act_window,name:base.action_workflow_transition_form @@ -161,14 +151,6 @@ msgstr "" msgid "Wood Suppliers" msgstr "" -#. module: base -#: code:addons/base/module/module.py:0 -#, python-format -msgid "" -"Some installed modules depend on the module you plan to Uninstall :\n" -" %s" -msgstr "" - #. module: base #: field:ir.sequence,number_increment:0 msgid "Increment Number" @@ -180,11 +162,6 @@ msgstr "" msgid "Company's Structure" msgstr "Cơ cấu công ty" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Inuktitut / ᐃᓄᒃᑎᑐᑦ" -msgstr "" - #. module: base #: view:res.partner:0 msgid "Search Partner" @@ -200,7 +177,7 @@ msgstr "" #: code:addons/base/module/wizard/base_export_language.py:0 #, python-format msgid "new" -msgstr "mới" +msgstr "" #. module: base #: selection:ir.ui.menu,icon:0 @@ -245,11 +222,6 @@ msgstr "" msgid "STOCK_DELETE" msgstr "" -#. module: base -#: sql_constraint:res.lang:0 -msgid "The name of the language must be unique !" -msgstr "Tên ngôn ngữ phải duy nhất" - #. module: base #: selection:res.request,state:0 msgid "active" @@ -283,7 +255,7 @@ msgstr "Ngày cập nhật" #. module: base #: view:ir.attachment:0 msgid "Owner" -msgstr "Chủ sở hữu" +msgstr "" #. module: base #: field:ir.actions.act_window,src_model:0 @@ -377,10 +349,8 @@ msgid "Bosnian / bosanski jezik" msgstr "" #. module: base -#: help:ir.actions.report.xml,attachment_use:0 -msgid "" -"If you check this, then the second time the user prints with same attachment " -"name, it returns the previous report." +#: selection:base.language.install,lang:0 +msgid "Serbian / Serbia" msgstr "" #. module: base @@ -415,8 +385,8 @@ msgid "Schedule Upgrade" msgstr "" #. module: base -#: model:res.partner.title,name:base.res_partner_title_sir -msgid "Mister" +#: selection:base.language.install,lang:0 +msgid "Mongolian / Mongolia" msgstr "" #. module: base @@ -441,11 +411,6 @@ msgstr "" msgid "Sales & Purchases" msgstr "" -#. module: base -#: model:res.partner.title,name:base.res_partner_title_pvt_ltd -msgid "Corporation" -msgstr "" - #. module: base #: view:ir.translation:0 msgid "Untranslated" @@ -511,6 +476,11 @@ msgstr "" msgid "Trigger Expression" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Korean / Korea, Democratic Peoples Republic of" +msgstr "" + #. module: base #: model:res.country,name:base.jo msgid "Jordan" @@ -527,9 +497,8 @@ msgid "Eritrea" msgstr "" #. module: base -#: view:res.config:0 -#: view:res.config.installer:0 -msgid "description" +#: selection:base.language.install,lang:0 +msgid "Bulgarian / български" msgstr "" #. module: base @@ -608,11 +577,6 @@ msgstr "" msgid "res.config.users" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Albanian / Shqip" -msgstr "" - #. module: base #: model:ir.model,name:base.model_base_language_export msgid "base.language.export" @@ -687,11 +651,6 @@ msgid "" "screens and menus" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (UY) / Español (UY)" -msgstr "" - #. module: base #: field:res.partner,mobile:0 #: field:res.partner.address,mobile:0 @@ -709,6 +668,15 @@ msgstr "" msgid "Payment term" msgstr "" +#. module: base +#: code:addons/base/res/res_config.py:0 +#, python-format +msgid "" +"\n" +"\n" +"This addon is already installed on your system" +msgstr "" + #. module: base #: model:res.country,name:base.nu msgid "Niue" @@ -890,11 +858,6 @@ msgid "" "Launchpad also allows uploading full .po files at once" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (GT) / Español (GT)" -msgstr "" - #. module: base #: view:res.lang:0 msgid "" @@ -1123,6 +1086,14 @@ msgstr "" msgid "STOCK_COPY" msgstr "" +#. module: base +#: code:addons/base/module/module.py:0 +#, python-format +msgid "" +"You try to install the module '%s' that depends on the module:'%s'.\n" +"But this module is not available in your system." +msgstr "" + #. module: base #: model:ir.model,name:base.model_res_request_link msgid "res.request.link" @@ -1174,8 +1145,8 @@ msgid "Computational Accuracy" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Sinhalese / සිංහල" +#: model:res.country,name:base.kg +msgid "Kyrgyz Republic (Kyrgyzstan)" msgstr "" #. module: base @@ -1204,17 +1175,6 @@ msgstr "" msgid "STOCK_FIND_AND_REPLACE" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.open_module_tree -msgid "" -"List all certified modules available to configure your OpenERP. Modules that " -"are installed are flagged as such. You can search for a specific module " -"using the name or the description of the module. You do not need to install " -"modules one by one, you can install many at the same time by clicking on the " -"schedule button in this list. Then, apply the schedule upgrade from Action " -"menu once for all the ones you have scheduled for installation." -msgstr "" - #. module: base #: model:res.country,name:base.mv msgid "Maldives" @@ -1236,8 +1196,8 @@ msgid "Days" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Serbian / српски језик" +#: selection:ir.ui.menu,icon:0 +msgid "terp-calendar" msgstr "" #. module: base @@ -1253,7 +1213,6 @@ msgid "" msgstr "" #. module: base -#: code:addons/base/res/partner/partner.py:0 #: code:addons/base/res/res_company.py:0 #, python-format msgid " (copy)" @@ -1371,6 +1330,22 @@ msgid "" "are considered to be in week 0." msgstr "" +#. module: base +#: code:addons/base/ir/ir_model.py:0 +#, python-format +msgid "" +"Model %s Does not Exist !\" % vals['relation']))\n" +"\n" +" if self.pool.get(vals['model']):\n" +" self.pool.get(vals['model']).__init__(self.pool, cr)\n" +" #Added context to _auto_init for special treatment to custom " +"field for select_level\n" +" ctx = context.copy()\n" +" " +"ctx.update({'field_name':vals['name'],'field_state':'manual','select':vals.ge" +"t('select_level','0" +msgstr "" + #. module: base #: view:ir.ui.view:0 msgid "Advanced" @@ -1441,11 +1416,6 @@ msgstr "" msgid "Spanish / Español" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Korean (KP) / 한국어 (KP)" -msgstr "" - #. module: base #: view:base.module.update:0 msgid "" @@ -1523,13 +1493,6 @@ msgstr "" msgid "terp-stock_align_left_24" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_ui_view -msgid "" -"Views allows you to personalize each view of OpenERP. You can add new " -"fields, move fields, rename them or delete the ones that you do not need." -msgstr "" - #. module: base #: field:ir.actions.act_window,groups_id:0 #: model:ir.actions.act_window,name:base.action_res_groups @@ -1551,11 +1514,6 @@ msgstr "" msgid "Groups" msgstr "Groups" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (CL) / Español (CL)" -msgstr "" - #. module: base #: model:res.country,name:base.bz msgid "Belize" @@ -1608,10 +1566,8 @@ msgid "" msgstr "" #. module: base -#: field:ir.property,fields_id:0 #: selection:ir.translation,type:0 -#: field:multi_company.default,field_id:0 -msgid "Field" +msgid "Wizard Field" msgstr "" #. module: base @@ -1646,11 +1602,6 @@ msgstr "" msgid "Invoice" msgstr "Invoice" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Portugese (BR) / Português (BR)" -msgstr "" - #. module: base #: model:res.country,name:base.bb msgid "Barbados" @@ -1852,11 +1803,6 @@ msgstr "" msgid "terp-stock_format-default" msgstr "" -#. module: base -#: model:ir.ui.menu,name:base.menu_email_gateway_form -msgid "Messages" -msgstr "" - #. module: base #: view:res.lang:0 msgid "%p - Equivalent of either AM or PM." @@ -1882,14 +1828,6 @@ msgstr "Ending Date" msgid "New Zealand" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_country -msgid "" -"Display and manage the list of all countries that can be assigned to your " -"partner records. You can create or delete countries to make sure the ones " -"you are working on will be maintained." -msgstr "" - #. module: base #: model:res.partner.category,name:base.res_partner_category_7 msgid "Openstuff.net" @@ -1905,11 +1843,6 @@ msgstr "" msgid "STOCK_MEDIA_PLAY" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Korean (KR) / 한국어 (KR)" -msgstr "" - #. module: base #: selection:ir.ui.menu,icon:0 msgid "STOCK_OPEN" @@ -1979,16 +1912,6 @@ msgstr "" msgid "Configuration Parameters" msgstr "" -#. module: base -#: constraint:ir.cron:0 -msgid "Invalid arguments" -msgstr "" - -#. module: base -#: model:res.partner.title,shortcut:base.res_partner_title_miss -msgid "Mss." -msgstr "" - #. module: base #: model:res.country,name:base.se msgid "Sweden" @@ -2110,14 +2033,6 @@ msgstr "" msgid "Extended" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_partner_title_contact -msgid "" -"Manage the contact titles you want to have available in your system and the " -"way you want to print them in letters and other documents. Some example: " -"Mr., Mrs. " -msgstr "" - #. module: base #: field:res.company,rml_footer1:0 msgid "Report Footer 1" @@ -2171,11 +2086,6 @@ msgid "" "Unicode) when the translator exports it." msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (DO) / Español (DO)" -msgstr "" - #. module: base #: model:ir.model,name:base.model_workflow_activity msgid "workflow.activity" @@ -2191,11 +2101,6 @@ msgstr "" msgid "Uruguay" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Finnish / Suomi" -msgstr "" - #. module: base #: field:ir.rule,perm_write:0 msgid "Apply For Write" @@ -2227,8 +2132,8 @@ msgid "Fields Mapping" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Portugese / Português" +#: model:res.partner.title,name:base.res_partner_title_sir +msgid "Sir" msgstr "" #. module: base @@ -2267,9 +2172,15 @@ msgid "Module" msgstr "" #. module: base -#: selection:ir.ui.menu,icon:0 -msgid "STOCK_BOLD" -msgstr "" +#: field:ir.attachment,description:0 +#: view:ir.module.module:0 +#: field:ir.module.module,description:0 +#: field:res.partner.bank,name:0 +#: view:res.partner.event:0 +#: field:res.partner.event,description:0 +#: view:res.request:0 +msgid "Description" +msgstr "Description" #. module: base #: model:ir.actions.act_window,name:base.action_workflow_instance_form @@ -2278,8 +2189,8 @@ msgid "Instances" msgstr "" #. module: base -#: model:res.country,name:base.aq -msgid "Antarctica" +#: help:res.partner,employee:0 +msgid "Check this box if the partner is an Employee." msgstr "" #. module: base @@ -2416,13 +2327,13 @@ msgid "" msgstr "" #. module: base -#: model:res.country,name:base.ru -msgid "Russian Federation" +#: selection:base.language.install,lang:0 +msgid "Ukrainian / украї́нська мо́ва" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Urdu / اردو" +#: model:res.country,name:base.ru +msgid "Russian Federation" msgstr "" #. module: base @@ -2493,11 +2404,14 @@ msgid "GPL-2 or later version" msgstr "" #. module: base -#: code:addons/base/module/module.py:0 -#, python-format -msgid "" -"Can not create the module file:\n" -" %s" +#: model:res.partner.title,shortcut:base.res_partner_title_sir +msgid "M." +msgstr "" + +#. module: base +#: model:ir.model,name:base.model_ir_actions_wizard +#: selection:ir.ui.menu,action:0 +msgid "ir.actions.wizard" msgstr "" #. module: base @@ -2510,11 +2424,6 @@ msgstr "" msgid "Nauru" msgstr "" -#. module: base -#: sql_constraint:ir.module.module:0 -msgid "The certificate ID of the module must be unique !" -msgstr "Mã chứng nhận của mô đun này phải là duy nhất !" - #. module: base #: model:ir.model,name:base.model_ir_property msgid "ir.property" @@ -2550,14 +2459,6 @@ msgstr "" msgid "Categories" msgstr "" -#. module: base -#: view:base.language.import:0 -msgid "" -"If you need another language than the official ones available, you can " -"import a language pack from here. Other OpenERP languages than the official " -"ones can be found on launchpad." -msgstr "" - #. module: base #: view:ir.module.module:0 #: selection:ir.module.module,state:0 @@ -2601,6 +2502,11 @@ msgstr "" msgid "Send SMS" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Hindi / India" +msgstr "" + #. module: base #: field:res.partner,ean13:0 msgid "EAN13" @@ -2722,12 +2628,6 @@ msgstr "" msgid "Action to Trigger" msgstr "" -#. module: base -#: code:addons/base/res/res_user.py:0 -#, python-format -msgid "\"email_from\" needs to be set to send welcome mails to users" -msgstr "" - #. module: base #: selection:ir.translation,type:0 msgid "Constraint" @@ -2837,19 +2737,17 @@ msgstr "" msgid "Bank account" msgstr "Bank account" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (HN) / Español (HN)" -msgstr "" - #. module: base #: view:ir.sequence.type:0 msgid "Sequence Type" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Hindi / हिंदी" +#: code:addons/base/module/module.py:0 +#, python-format +msgid "" +"You try to upgrade a module that depends on the module: %s.\n" +"But this module is not available in your system." msgstr "" #. module: base @@ -2942,8 +2840,13 @@ msgid "STOCK_UNDELETE" msgstr "" #. module: base -#: view:res.lang:0 -msgid "%c - Appropriate date and time representation." +#: selection:ir.ui.menu,icon:0 +msgid "STOCK_EXECUTE" +msgstr "" + +#. module: base +#: selection:base.language.install,lang:0 +msgid "Finland / Suomi" msgstr "" #. module: base @@ -2966,6 +2869,11 @@ msgstr "" msgid "Direction" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Latvian / Latvia" +msgstr "" + #. module: base #: view:ir.actions.act_window:0 #: model:ir.actions.act_window,name:base.action_ui_view @@ -2983,6 +2891,11 @@ msgstr "" msgid "Rules" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Urdu / Pakistan" +msgstr "" + #. module: base #: code:addons/base/module/module.py:0 #, python-format @@ -2995,11 +2908,6 @@ msgid "" "The kind of action or button in the client side that will trigger the action." msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (PR) / Español (PR)" -msgstr "" - #. module: base #: selection:ir.ui.menu,icon:0 msgid "STOCK_PASTE" @@ -3072,11 +2980,6 @@ msgstr "" msgid "Custom Reports" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Abkhazian / аҧсуа" -msgstr "" - #. module: base #: view:base.module.configuration:0 msgid "System Configuration Done" @@ -3123,8 +3026,8 @@ msgid "STOCK_CONNECT" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (PY) / Español (PY)" +#: selection:ir.model.fields,select_level:0 +msgid "Not Searchable" msgstr "" #. module: base @@ -3132,6 +3035,40 @@ msgstr "" msgid "RML Header" msgstr "" +#. module: base +#: code:addons/base/module/module.py:0 +#, python-format +msgid "" +"Unable %s the module \"%s\" because an external dependencie is not met: %s' " +"% (newstate, module.name, e.args[0])))\n" +" if not module.dependencies_id:\n" +" mdemo = module.demo\n" +" if module.state in states_to_update:\n" +" self.write(cr, uid, [module.id], {'state': newstate, " +"'demo':mdemo})\n" +" demo = demo or mdemo\n" +" return demo\n" +"\n" +" def button_install(self, cr, uid, ids, context={}):\n" +" return self.state_update(cr, uid, ids, 'to install', " +"['uninstalled'], context)\n" +"\n" +" def button_install_cancel(self, cr, uid, ids, context={}):\n" +" self.write(cr, uid, ids, {'state': 'uninstalled', 'demo':False})\n" +" return True\n" +"\n" +" def button_uninstall(self, cr, uid, ids, context={}):\n" +" for module in self.browse(cr, uid, ids):\n" +" cr.execute('''select m.state,m.name\n" +" from\n" +" ir_module_module_dependency d\n" +" join\n" +" ir_module_module m on (d.module_id=m.id)\n" +" where\n" +" d.name=%s and\n" +" m.state not in ('uninstalled','uninstallable','to remove" +msgstr "" + #. module: base #: field:partner.sms.send,app_id:0 msgid "API ID" @@ -3174,11 +3111,6 @@ msgstr "" msgid "Installed" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Ukrainian / українська" -msgstr "" - #. module: base #: model:ir.actions.act_window,name:base.action_translation #: model:ir.ui.menu,name:base.menu_action_translation @@ -3195,6 +3127,11 @@ msgstr "" msgid "Hungary" msgstr "" +#. module: base +#: model:ir.model,name:base.model_res_groups +msgid "res.groups" +msgstr "" + #. module: base #: model:res.country,name:base.br msgid "Brazil" @@ -3220,17 +3157,17 @@ msgstr "" msgid "terp-gtk-media-pause" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (PA) / Español (PA)" -msgstr "" - #. module: base #: view:res.currency:0 #: field:res.currency,rate_ids:0 msgid "Rates" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Albanian / Shqipëri" +msgstr "" + #. module: base #: model:res.country,name:base.sy msgid "Syria" @@ -3323,17 +3260,6 @@ msgstr "" msgid "Decimal Separator" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_res_groups -msgid "" -"A group is a set of functional areas that will be assigned to the user in " -"order to give them access and rights to specific applications and tasks in " -"the system. You can create custom groups or edit the ones existing by " -"default in order to customize the view of the menu that users will be able " -"to see. Whether they can have a read, write, create and delete access right " -"can be managed from here." -msgstr "" - #. module: base #: view:res.partner:0 #: view:res.request:0 @@ -3392,8 +3318,10 @@ msgid "Meta Datas" msgstr "" #. module: base -#: sql_constraint:ir.ui.view_sc:0 -msgid "Shortcut for this menu already exists!" +#: field:ir.property,fields_id:0 +#: selection:ir.translation,type:0 +#: field:multi_company.default,field_id:0 +msgid "Field" msgstr "" #. module: base @@ -3401,6 +3329,11 @@ msgstr "" msgid "Venezuela" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Malayalam / India" +msgstr "" + #. module: base #: view:res.lang:0 msgid "9. %j ==> 340" @@ -3503,8 +3436,8 @@ msgid "English (UK)" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Japanese / 日本語" +#: model:res.country,name:base.aq +msgid "Antarctica" msgstr "" #. module: base @@ -3565,9 +3498,8 @@ msgid "Svalbard and Jan Mayen Islands" msgstr "" #. module: base -#: model:ir.model,name:base.model_ir_actions_wizard -#: selection:ir.ui.menu,action:0 -msgid "ir.actions.wizard" +#: model:ir.ui.menu,name:base.menu_view_base_module_update +msgid " Update Modules List" msgstr "" #. module: base @@ -3651,11 +3583,6 @@ msgstr "" msgid "SMS Configuration" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (BO) / Español (BO)" -msgstr "" - #. module: base #: model:ir.actions.act_window,name:base.ir_access_act #: model:ir.ui.menu,name:base.menu_ir_access_act @@ -3690,18 +3617,6 @@ msgstr "Shortcut" msgid "Init Date" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Gujarati / ગુજરાતી" -msgstr "" - -#. module: base -#: code:addons/base/module/module.py:0 -#, python-format -msgid "" -"Unable to process module \"%s\" because an external dependency is not met: %s" -msgstr "" - #. module: base #: view:workflow.activity:0 #: field:workflow.activity,flow_start:0 @@ -3789,11 +3704,6 @@ msgstr "" msgid "Load Official Translation" msgstr "" -#. module: base -#: model:ir.model,name:base.model_res_request_history -msgid "res.request.history" -msgstr "" - #. module: base #: view:ir.actions.server:0 msgid "Client Action Configuration" @@ -3820,6 +3730,14 @@ msgstr "" msgid "Cape Verde" msgstr "" +#. module: base +#: code:addons/base/module/module.py:0 +#, python-format +msgid "" +"Some installed modules depend on the module you plan to Uninstall :\n" +" %s" +msgstr "" + #. module: base #: model:ir.actions.act_window,name:base.act_res_partner_event #: field:res.partner,events:0 @@ -3859,11 +3777,6 @@ msgstr "" msgid "Price Accuracy" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Latvian / latviešu valoda" -msgstr "" - #. module: base #: view:res.config:0 #: view:res.config.installer:0 @@ -3942,11 +3855,6 @@ msgstr "" msgid "Trigger On" msgstr "" -#. module: base -#: sql_constraint:ir.rule:0 -msgid "Rule must have at least one checked access right !" -msgstr "Rule must have at least one checked access right !" - #. module: base #: model:res.country,name:base.fj msgid "Fiji" @@ -3989,11 +3897,6 @@ msgstr "" msgid "Uninstallable" msgstr "" -#. module: base -#: view:base.module.upgrade:0 -msgid "The selected modules have been updated / installed !" -msgstr "" - #. module: base #: selection:ir.ui.menu,icon:0 msgid "STOCK_SORT_DESCENDING" @@ -4093,17 +3996,6 @@ msgstr "" msgid "terp-sale" msgstr "" -#. module: base -#: field:ir.attachment,description:0 -#: view:ir.module.module:0 -#: field:ir.module.module,description:0 -#: field:res.partner.bank,name:0 -#: view:res.partner.event:0 -#: field:res.partner.event,description:0 -#: view:res.request:0 -msgid "Description" -msgstr "Description" - #. module: base #: view:res.lang:0 msgid "%d - Day of the month as a decimal number [01,31]." @@ -4114,6 +4006,11 @@ msgstr "" msgid "%I - Hour (12-hour clock) as a decimal number [01,12]." msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Romanian / limba română" +msgstr "" + #. module: base #: selection:ir.ui.menu,icon:0 msgid "STOCK_ADD" @@ -4179,16 +4076,6 @@ msgstr "" msgid "Add an auto-refresh on the view" msgstr "" -#. module: base -#: help:res.partner,employee:0 -msgid "Check this box if the partner is an Employee." -msgstr "" - -#. module: base -#: model:res.partner.title,name:base.res_partner_title_ltd -msgid "Limited Company" -msgstr "" - #. module: base #: field:ir.actions.report.xml,report_rml_content:0 #: field:ir.actions.report.xml,report_rml_content_data:0 @@ -4258,6 +4145,11 @@ msgstr "Cancelled" msgid "Want to Clear Ids ? " msgstr "" +#. module: base +#: selection:res.request,priority:0 +msgid "Low" +msgstr "" + #. module: base #: field:res.partner,customer:0 #: view:res.partner.address:0 @@ -4433,6 +4325,14 @@ msgstr "" msgid "Faroe Islands" msgstr "" +#. module: base +#: code:addons/base/res/res_user.py:0 +#, python-format +msgid "" +"\"email_from\" needs to be set to send welcome mails '\n" +" 'to users" +msgstr "" + #. module: base #: view:base.module.upgrade:0 #: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_window @@ -4451,8 +4351,8 @@ msgid "Widgets" msgstr "" #. module: base -#: model:res.country,name:base.cz -msgid "Czech Republic" +#: model:res.country,name:base.mp +msgid "Northern Mariana Islands" msgstr "" #. module: base @@ -4526,6 +4426,7 @@ msgstr "" #: code:addons/base/ir/ir_model.py:0 #: code:addons/base/maintenance/maintenance.py:0 #: code:addons/base/module/module.py:0 +#: code:addons/base/res/res_config.py:0 #: code:addons/base/res/res_currency.py:0 #: code:addons/base/res/res_user.py:0 #, python-format @@ -4552,11 +4453,6 @@ msgstr "" msgid "Close" msgstr "Close" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (MX) / Español (MX)" -msgstr "" - #. module: base #: view:res.log:0 msgid "My Logs" @@ -4613,19 +4509,6 @@ msgstr "" msgid "STOCK_INDENT" msgstr "" -#. module: base -#: sql_constraint:res.country:0 -msgid "The name of the country must be unique !" -msgstr "" - -#. module: base -#: model:ir.actions.act_window,help:base.action_country_state -msgid "" -"If you are working on the American market, you can manage the different " -"federal states you are working on from here. Each state is attached to one " -"country." -msgstr "" - #. module: base #: view:workflow.workitem:0 msgid "Workflow Workitems" @@ -4682,14 +4565,6 @@ msgstr "" msgid "Latest version" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.res_partner_canal-act -msgid "" -"Track from where is coming your leads and opportunities by creating specific " -"channels that will be maintained at the creation of a document in the " -"system. Some examples of channels can be: Website, Phone Call, Reseller, etc." -msgstr "" - #. module: base #: model:res.partner.bank.type.field,name:base.bank_normal_field msgid "acc_number" @@ -4871,11 +4746,6 @@ msgstr "" msgid "Object Field" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (PE) / Español (PE)" -msgstr "" - #. module: base #: selection:base.language.install,lang:0 msgid "French (CH) / Français (CH)" @@ -4900,16 +4770,16 @@ msgid "Client Actions" msgstr "" #. module: base -#: code:addons/base/module/module.py:0 -#, python-format -msgid "" -"You try to upgrade a module that depends on the module: %s.\n" -"But this module is not available in your system." +#: field:workflow.transition,act_to:0 +msgid "Destination Activity" msgstr "" #. module: base -#: field:workflow.transition,act_to:0 -msgid "Destination Activity" +#: code:addons/base/res/res_config.py:0 +#, python-format +msgid "" +"Can't set an ir.actions.todo's state to \"\n" +" \"nothingness" msgstr "" #. module: base @@ -4932,6 +4802,11 @@ msgstr "" msgid "base.update.translations" msgstr "" +#. module: base +#: selection:ir.model.fields,select_level:0 +msgid "Advanced Search" +msgstr "" + #. module: base #: field:ir.module.category,parent_id:0 #: field:res.partner.category,parent_id:0 @@ -4956,8 +4831,8 @@ msgid "ir.ui.menu" msgstr "" #. module: base -#: view:partner.wizard.ean.check:0 -msgid "Ignore" +#: model:res.country,name:base.us +msgid "United States" msgstr "" #. module: base @@ -5046,6 +4921,11 @@ msgstr "" msgid "Values for Event Type" msgstr "" +#. module: base +#: model:res.country,name:base.zr +msgid "Zaire" +msgstr "" + #. module: base #: selection:ir.model.fields,select_level:0 msgid "Always Searchable" @@ -5056,6 +4936,14 @@ msgstr "" msgid "STOCK_CLOSE" msgstr "" +#. module: base +#: code:addons/base/res/res_lang.py:0 +#, python-format +msgid "" +"You cannot delete the language which is Active !\n" +"Please de-activate the language first." +msgstr "" + #. module: base #: model:res.country,name:base.hk msgid "Hong Kong" @@ -5072,15 +4960,8 @@ msgid "STOCK_ZOOM_100" msgstr "" #. module: base -#: model:ir.actions.act_window,help:base.action_partner_address_form -msgid "" -"Customers (also called Partners in other areas of the system) helps you " -"manage your address book of companies whether they are prospects, customers " -"and/or suppliers. The partner form allows you to track and record all the " -"necessary information to interact with your partners from the company " -"address to their contacts as well as pricelists, and much more. If you " -"installed the CRM, with the history tab, you can track all the interactions " -"with a partner such as opportunities, emails, or sales orders issued." +#: selection:ir.ui.menu,icon:0 +msgid "STOCK_BOLD" msgstr "" #. module: base @@ -5183,8 +5064,8 @@ msgid "Bulk SMS send" msgstr "" #. module: base -#: model:ir.ui.menu,name:base.next_id_2 -msgid "User Interface" +#: view:res.lang:0 +msgid "%Y - Year with century as a decimal number." msgstr "" #. module: base @@ -5193,8 +5074,11 @@ msgid "Seconde: %(sec)s" msgstr "" #. module: base -#: model:ir.ui.menu,name:base.menu_view_base_module_update -msgid "Update Modules List" +#: code:addons/base/module/module.py:0 +#, python-format +msgid "" +"Can not create the module file:\n" +" %s" msgstr "" #. module: base @@ -5202,23 +5086,6 @@ msgstr "" msgid "terp-accessories-archiver" msgstr "" -#. module: base -#: code:addons/base/module/module.py:0 -#, python-format -msgid "" -"Unable to upgrade module \"%s\" because an external dependency is not met: %s" -msgstr "" - -#. module: base -#: code:addons/base/res/res_user.py:0 -#, python-format -msgid "" -"Please keep in mind that documents currently displayed may not be relevant " -"after switching to another company. If you have unsaved changes, please make " -"sure to save and close all forms before switching to a different company. " -"(You can click on Cancel in the User Preferences now)" -msgstr "" - #. module: base #: view:ir.actions.configuration.wizard:0 msgid "Continue" @@ -5302,11 +5169,6 @@ msgstr "" msgid "Default Company" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (EC) / Español (EC)" -msgstr "" - #. module: base #: help:ir.ui.view,xml_id:0 msgid "ID of the view defined in xml file" @@ -5323,6 +5185,14 @@ msgstr "" msgid "American Samoa" msgstr "" +#. module: base +#: code:addons/base/res/res_user.py:0 +#, python-format +msgid "" +"--\n" +"%(name)s %(email)s\n" +msgstr "" + #. module: base #: help:ir.actions.act_window,res_model:0 msgid "Model name of the object to open in the view window" @@ -5380,6 +5250,11 @@ msgstr "" msgid "Recruitment" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Occitan (post 1500) / France" +msgstr "" + #. module: base #: model:res.country,name:base.re msgid "Reunion (French)" @@ -5398,8 +5273,8 @@ msgid "You must logout and login again after changing your password." msgstr "" #. module: base -#: model:res.country,name:base.mp -msgid "Northern Mariana Islands" +#: model:res.country,name:base.cz +msgid "Czech Republic" msgstr "" #. module: base @@ -5456,8 +5331,8 @@ msgid "Module Category" msgstr "" #. module: base -#: model:res.country,name:base.us -msgid "United States" +#: view:partner.wizard.ean.check:0 +msgid "Ignore" msgstr "" #. module: base @@ -5497,7 +5372,7 @@ msgstr "" #. module: base #: selection:base.language.install,lang:0 -msgid "Flemish (BE) / Vlaams (BE)" +msgid "Japanese / Japan" msgstr "" #. module: base @@ -5535,8 +5410,8 @@ msgid "View Type" msgstr "" #. module: base -#: view:res.lang:0 -msgid "%Y - Year with century as a decimal number." +#: model:ir.ui.menu,name:base.next_id_2 +msgid "User Interface" msgstr "" #. module: base @@ -5575,11 +5450,6 @@ msgstr "" msgid "Custom Shortcuts" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Vietnamese / Tiếng Việt" -msgstr "" - #. module: base #: model:res.country,name:base.dz msgid "Algeria" @@ -5596,8 +5466,8 @@ msgid "Belgium" msgstr "" #. module: base -#: model:ir.model,name:base.model_osv_memory_autovacuum -msgid "osv_memory.autovacuum" +#: selection:base.language.install,lang:0 +msgid "Inuktitut / Canada" msgstr "" #. module: base @@ -5633,18 +5503,17 @@ msgstr "Companies" msgid "res.widget" msgstr "" -#. module: base -#: code:addons/base/ir/ir_model.py:0 -#, python-format -msgid "Model %s does not exist!" -msgstr "" - #. module: base #: code:addons/base/res/res_lang.py:0 #, python-format msgid "You cannot delete the language which is User's Preferred Language !" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Norwegian Bokmål / Norway" +msgstr "" + #. module: base #: view:ir.actions.server:0 #: field:ir.actions.server,code:0 @@ -5762,6 +5631,11 @@ msgstr "" msgid "Guyana" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Portugese (BR) / português (BR)" +msgstr "" + #. module: base #: help:ir.actions.act_window,view_type:0 msgid "" @@ -5876,11 +5750,6 @@ msgstr "" msgid "Base" msgstr "Base" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Telugu / తెలుగు" -msgstr "" - #. module: base #: selection:ir.ui.menu,icon:0 msgid "terp-dialog-close" @@ -5935,6 +5804,11 @@ msgstr "Code" msgid "res.config.installer" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Sinhalese / Sri Lanka" +msgstr "" + #. module: base #: model:res.country,name:base.mc msgid "Monaco" @@ -5980,7 +5854,7 @@ msgstr "" #. module: base #: selection:base.language.install,lang:0 -msgid "Spanish (CO) / Español (CO)" +msgid "Abkhazian (RU)" msgstr "" #. module: base @@ -6134,6 +6008,11 @@ msgstr "" msgid "Panama" msgstr "" +#. module: base +#: model:res.partner.title,name:base.res_partner_title_ltd +msgid "Ltd" +msgstr "" + #. module: base #: help:workflow.transition,group_id:0 msgid "" @@ -6217,11 +6096,6 @@ msgstr "" msgid "Search View" msgstr "" -#. module: base -#: sql_constraint:res.lang:0 -msgid "The code of the language must be unique !" -msgstr "" - #. module: base #: model:ir.actions.act_window,name:base.action_attachment #: view:ir.actions.report.xml:0 @@ -6315,6 +6189,11 @@ msgstr "" msgid "E-mail" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Portugese / português" +msgstr "" + #. module: base #: selection:ir.module.module,license:0 msgid "GPL-3 or later version" @@ -6337,13 +6216,6 @@ msgstr "" msgid "Object Identifiers" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_partner_title_partner -msgid "" -"Manage the partner titles you want to have available in your system. The " -"partner titles is the legal status of the company: Private Limited, SA, etc." -msgstr "" - #. module: base #: view:base.language.export:0 msgid "To browse official translations, you can start with these links:" @@ -6363,21 +6235,11 @@ msgstr "" msgid "Installed version" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Mongolian / монгол" -msgstr "" - #. module: base #: model:res.country,name:base.mr msgid "Mauritania" msgstr "" -#. module: base -#: selection:ir.ui.menu,icon:0 -msgid "terp-calendar" -msgstr "" - #. module: base #: model:ir.model,name:base.model_ir_translation msgid "ir.translation" @@ -6405,16 +6267,6 @@ msgstr "" msgid "Parent Company" msgstr "" -#. module: base -#: field:ir.translation,src:0 -msgid "Source" -msgstr "" - -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (CR) / Español (CR)" -msgstr "" - #. module: base #: field:res.currency.rate,rate:0 msgid "Rate" @@ -6450,15 +6302,6 @@ msgstr "" msgid "Saint Kitts & Nevis Anguilla" msgstr "" -#. module: base -#: code:addons/base/res/res_currency.py:0 -#, python-format -msgid "" -"No rate found \n" -"for the currency: %s \n" -"at the date: %s" -msgstr "" - #. module: base #: selection:ir.ui.menu,icon:0 msgid "STOCK_HOME" @@ -6539,14 +6382,6 @@ msgstr "" msgid "Samoa" msgstr "" -#. module: base -#: code:addons/base/res/res_lang.py:0 -#, python-format -msgid "" -"You cannot delete the language which is Active !\n" -"Please de-activate the language first." -msgstr "" - #. module: base #: view:base.language.install:0 #: view:base.module.import:0 @@ -6578,11 +6413,6 @@ msgstr "" msgid "This error occurs on database %s" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_res_bank_form -msgid "Manage bank records you want to be used in the system." -msgstr "" - #. module: base #: view:base.module.import:0 msgid "Import module" @@ -6607,6 +6437,7 @@ msgstr "" #. module: base #: selection:ir.actions.server,state:0 +#: model:ir.ui.menu,name:base.menu_mail_gateway #: field:res.config.users,user_email:0 #: field:res.users,user_email:0 msgid "Email" @@ -6724,6 +6555,11 @@ msgstr "" msgid "ir.actions.report.xml" msgstr "" +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_miss +msgid "Mss" +msgstr "" + #. module: base #: model:ir.model,name:base.model_ir_ui_view msgid "ir.ui.view" @@ -6749,13 +6585,6 @@ msgstr "" msgid "HR Manager Dashboard" msgstr "" -#. module: base -#: code:addons/base/module/module.py:0 -#, python-format -msgid "" -"Unable to install module \"%s\" because an external dependency is not met: %s" -msgstr "" - #. module: base #: view:ir.module.module:0 msgid "Search modules" @@ -6776,15 +6605,6 @@ msgstr "" msgid "Action Name" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_res_users -msgid "" -"Create and manage users that will connect to the system. Users can be " -"deactivated should there be a period of time during which they will/should " -"not connect to the system. You can assign them groups in order to give them " -"specific access to the applications they need to use in the system." -msgstr "" - #. module: base #: selection:res.request,priority:0 msgid "Normal" @@ -6820,6 +6640,15 @@ msgstr "User" msgid "Puerto Rico" msgstr "" +#. module: base +#: code:addons/base/res/res_currency.py:0 +#, python-format +msgid "" +"No rate found \n" +"' \\n 'for the currency: %s \n" +"' \\n 'at the date: %s" +msgstr "" + #. module: base #: view:ir.actions.act_window:0 msgid "Open Window" @@ -6840,11 +6669,6 @@ msgstr "" msgid "Ms." msgstr "" -#. module: base -#: model:res.partner.title,shortcut:base.res_partner_title_ltd -msgid "Ltd." -msgstr "" - #. module: base #: model:res.country,name:base.ch msgid "Switzerland" @@ -6882,9 +6706,9 @@ msgid "The new user's real name, used for searching and most listings" msgstr "" #. module: base -#: sql_constraint:ir.model.fields:0 -msgid "Size of the field can never be less than 1 !" -msgstr "Độ dài trường dữ liệu không thể nhỏ hơn 1 !" +#: model:ir.model,name:base.model_res_request_history +msgid "res.request.history" +msgstr "" #. module: base #: model:res.country,name:base.so @@ -6939,11 +6763,6 @@ msgstr "" msgid "Audit" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (NI) / Español (NI)" -msgstr "" - #. module: base #: field:ir.module.module,shortdesc:0 msgid "Short Description" @@ -7002,11 +6821,6 @@ msgstr "Sequence" msgid "Tunisia" msgstr "" -#. module: base -#: model:ir.ui.menu,name:base.menu_mrp_root -msgid "Manufacturing" -msgstr "" - #. module: base #: view:base.language.export:0 #: model:ir.actions.act_window,name:base.action_wizard_lang_export @@ -7053,6 +6867,12 @@ msgstr "" msgid "Table Ref." msgstr "" +#. module: base +#: view:res.config:0 +#: view:res.config.installer:0 +msgid "description" +msgstr "" + #. module: base #: field:ir.actions.act_window,res_model:0 #: field:ir.actions.report.xml,model:0 @@ -7236,11 +7056,6 @@ msgstr "" msgid "Open Source Service Company" msgstr "" -#. module: base -#: model:res.country,name:base.kg -msgid "Kyrgyz Republic (Kyrgyzstan)" -msgstr "" - #. module: base #: selection:res.request,state:0 msgid "waiting" @@ -7293,6 +7108,11 @@ msgstr "" msgid "View Ref." msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Dutch (Belgium) / Nederlands (Belgïe)" +msgstr "" + #. module: base #: selection:ir.translation,type:0 msgid "Selection" @@ -7316,14 +7136,6 @@ msgstr "" msgid "Action Type" msgstr "" -#. module: base -#: code:addons/base/module/module.py:0 -#, python-format -msgid "" -"You try to install module '%s' that depends on module '%s'.\n" -"But the latter module is not available in your system." -msgstr "" - #. module: base #: view:base.language.import:0 #: model:ir.actions.act_window,name:base.action_view_base_import_language @@ -7371,14 +7183,6 @@ msgstr "" msgid "Your can't submit bug reports due to uncovered modules: %s" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_partner_supplier_form -msgid "" -"With the Suppliers menu, you have access to all informations regarding your " -"suppliers, including an history to track event (crm) and his accounting " -"properties." -msgstr "" - #. module: base #: view:workflow.activity:0 msgid "Conditions" @@ -7396,11 +7200,6 @@ msgstr "" msgid "Currencies" msgstr "" -#. module: base -#: sql_constraint:res.groups:0 -msgid "The name of the group must be unique !" -msgstr "Tên nhóm phải duy nhất !" - #. module: base #: view:ir.sequence:0 msgid "Hour 00->12: %(h12)s" @@ -7431,11 +7230,6 @@ msgstr "" msgid "10. %S ==> 20" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Norwegian Bokmål / Norsk bokmål" -msgstr "" - #. module: base #: model:res.partner.title,name:base.res_partner_title_madam msgid "Madam" @@ -7466,21 +7260,11 @@ msgstr "" msgid "Low Level Objects" msgstr "" -#. module: base -#: view:res.company:0 -msgid "Your Logo - Use a size of about 450x150 pixels." -msgstr "" - #. module: base #: model:ir.model,name:base.model_ir_values msgid "ir.values" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Occitan (FR, post 1500) / Occitan" -msgstr "" - #. module: base #: selection:ir.ui.menu,icon:0 msgid "STOCK_ZOOM_FIT" @@ -7488,7 +7272,6 @@ msgstr "" #. module: base #: model:ir.ui.menu,name:base.menu_emails -#: model:ir.ui.menu,name:base.menu_mail_gateway msgid "Emails" msgstr "" @@ -7497,11 +7280,6 @@ msgstr "" msgid "Congo, The Democratic Republic of the" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Malayalam / മലയാളം" -msgstr "" - #. module: base #: view:res.request:0 #: field:res.request,body:0 @@ -7572,11 +7350,6 @@ msgstr "" msgid "Python code to be executed" msgstr "" -#. module: base -#: sql_constraint:res.country:0 -msgid "The code of the country must be unique !" -msgstr "" - #. module: base #: model:ir.ui.menu,name:base.menu_project_management_time_tracking msgid "Time Tracking" @@ -7786,14 +7559,6 @@ msgstr "" msgid "China" msgstr "" -#. module: base -#: code:addons/base/res/res_user.py:0 -#, python-format -msgid "" -"--\n" -"%(name)s %(email)s\n" -msgstr "" - #. module: base #: model:res.country,name:base.eh msgid "Western Sahara" @@ -7804,13 +7569,6 @@ msgstr "" msgid "workflow" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_res_company_form -msgid "" -"Create and manage the companies that will be managed by OpenERP from here. " -"Shops or subsidiaries can be created and maintained from here." -msgstr "" - #. module: base #: model:res.country,name:base.id msgid "Indonesia" @@ -7876,6 +7634,11 @@ msgstr "" msgid "5. %y, %Y ==> 08, 2008" msgstr "" +#. module: base +#: model:res.partner.title,shortcut:base.res_partner_title_ltd +msgid "ltd" +msgstr "" + #. module: base #: field:ir.model.fields,model_id:0 #: field:ir.values,res_id:0 @@ -7963,8 +7726,8 @@ msgid "Association" msgstr "" #. module: base -#: model:res.country,name:base.cl -msgid "Chile" +#: view:ir.actions.server:0 +msgid "Action to Launch" msgstr "" #. module: base @@ -8025,15 +7788,6 @@ msgstr "" msgid "Field Label" msgstr "" -#. module: base -#: model:ir.actions.act_window,help:base.action_partner_form -msgid "" -"The Address book manages your customers list. The form for customer allows " -"you to record detailed on your customers (address, contacts, pricelist, " -"account, etc.). With the history tab, you can follow all moves transactions " -"related to a customer, like sales order, claims." -msgstr "" - #. module: base #: model:res.country,name:base.dj msgid "Djibouti" @@ -8050,8 +7804,8 @@ msgid "Antigua and Barbuda" msgstr "" #. module: base -#: model:res.country,name:base.zr -msgid "Zaire" +#: model:res.country,name:base.gw +msgid "Guinea Bissau" msgstr "" #. module: base @@ -8116,11 +7870,6 @@ msgstr "" msgid "Diagram" msgstr "" -#. module: base -#: model:res.country,name:base.wf -msgid "Wallis and Futuna Islands" -msgstr "" - #. module: base #: help:multi_company.default,name:0 msgid "Name it to easily find a record" @@ -8244,8 +7993,8 @@ msgid "Other Actions Configuration" msgstr "" #. module: base -#: selection:ir.ui.menu,icon:0 -msgid "STOCK_EXECUTE" +#: view:res.lang:0 +msgid "%c - Appropriate date and time representation." msgstr "" #. module: base @@ -8284,19 +8033,23 @@ msgstr "" #. module: base #: code:addons/base/res/res_user.py:0 -#: sql_constraint:res.users:0 #, python-format msgid "You can not have two users with the same login !" msgstr "" #. module: base -#: model:ir.model,name:base.model_multi_company_default -msgid "Default multi company" +#: code:addons/base/res/res_user.py:0 +#, python-format +msgid "" +"Please keep in mind that data currently displayed may not be relevant after " +"switching to another company. If you have unsaved changes, please make sure " +"to save and close the forms before switching to a different company (you can " +"click on Cancel now)" msgstr "" #. module: base -#: model:res.partner.title,shortcut:base.res_partner_title_sir -msgid "Sr." +#: model:ir.model,name:base.model_multi_company_default +msgid "Default multi company" msgstr "" #. module: base @@ -8311,9 +8064,9 @@ msgid "Menu Tips" msgstr "" #. module: base -#: sql_constraint:ir.module.module:0 -msgid "The name of the module must be unique !" -msgstr "Tên của mô đun phải duy nhất !" +#: field:ir.translation,src:0 +msgid "Source" +msgstr "" #. module: base #: help:res.partner.address,partner_id:0 @@ -8440,8 +8193,8 @@ msgid "Luxembourg" msgstr "" #. module: base -#: selection:res.request,priority:0 -msgid "Low" +#: view:base.module.upgrade:0 +msgid "The selected modules have been updated / installed !" msgstr "" #. module: base @@ -8473,6 +8226,13 @@ msgstr "" msgid "Phone" msgstr "" +#. module: base +#: help:ir.actions.report.xml,attachment_use:0 +msgid "" +"If you check this, then the second time the user prints with same attachment " +"name, it returns the previous report." +msgstr "" + #. module: base #: field:res.groups,menu_access:0 msgid "Access Menu" @@ -8488,11 +8248,6 @@ msgstr "" msgid "Leads & Opportunities" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Romanian / română" -msgstr "" - #. module: base #: selection:workflow.activity,join_mode:0 #: selection:workflow.activity,split_mode:0 @@ -8546,16 +8301,6 @@ msgstr "" msgid "Currency Rate" msgstr "Currency Rate" -#. module: base -#: model:ir.actions.act_window,help:base.grant_menu_access -msgid "" -"Manage and customize the items available and displayed in your OpenERP " -"system menu. You can delete an item by clicking on the box at the beginning " -"of each line and then delete it through the button that appeared. Items can " -"be assigned to specific groups in order to make them accessible to some " -"users within the system." -msgstr "" - #. module: base #: field:ir.ui.view,field_parent:0 msgid "Child Field" @@ -8602,6 +8347,11 @@ msgstr "" msgid "STOCK_JUMP_TO" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Gujarati / India" +msgstr "" + #. module: base #: field:ir.exports,resource:0 #: view:ir.property:0 @@ -8694,11 +8444,6 @@ msgstr "" msgid "Email & Signature" msgstr "" -#. module: base -#: selection:base.language.install,lang:0 -msgid "Bulgarian / български език" -msgstr "" - #. module: base #: model:ir.ui.menu,name:base.menu_aftersale msgid "After-Sale Services" @@ -8716,6 +8461,11 @@ msgstr "" msgid "Launch" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Vietnam / Cộng hòa xã hội chủ nghĩa Việt Nam" +msgstr "" + #. module: base #: field:ir.actions.act_window,limit:0 msgid "Limit" @@ -8732,12 +8482,8 @@ msgid "Jamaica" msgstr "" #. module: base -#: model:ir.actions.act_window,help:base.action_partner_category_form -msgid "" -"Manage the partner categories in order to better classify them for tracking " -"and analysis purposes. A partner may belong to several categories and " -"categories have a hierarchy structure: a partner belonging to a category " -"also belong to his parent category." +#: model:ir.ui.menu,name:base.menu_mrp_root +msgid "Manufacturing" msgstr "" #. module: base @@ -8778,8 +8524,8 @@ msgid "Czech / Čeština" msgstr "" #. module: base -#: selection:ir.model.fields,select_level:0 -msgid "Advanced Search" +#: model:res.country,name:base.wf +msgid "Wallis and Futuna Islands" msgstr "" #. module: base @@ -8844,6 +8590,11 @@ msgstr "" msgid "Country" msgstr "" +#. module: base +#: selection:base.language.install,lang:0 +msgid "Telugu / India" +msgstr "" + #. module: base #: field:ir.model.fields,complete_name:0 #: field:ir.ui.menu,complete_name:0 @@ -8888,8 +8639,8 @@ msgid "terp-mail_delete" msgstr "" #. module: base -#: selection:base.language.install,lang:0 -msgid "Spanish (SV) / Español (SV)" +#: view:res.company:0 +msgid "Your Logo - Use a size of about 450x150 pixels." msgstr "" #. module: base @@ -8969,8 +8720,8 @@ msgid "Localisation" msgstr "" #. module: base -#: view:ir.actions.server:0 -msgid "Action to Launch" +#: model:res.country,name:base.cl +msgid "Chile" msgstr "" #. module: base @@ -8999,11 +8750,6 @@ msgstr "" msgid "View Name" msgstr "" -#. module: base -#: model:ir.model,name:base.model_res_groups -msgid "Access Groups" -msgstr "" - #. module: base #: selection:base.language.install,lang:0 msgid "Italian / Italiano" @@ -9045,11 +8791,6 @@ msgstr "" msgid "System Update" msgstr "" -#. module: base -#: selection:ir.translation,type:0 -msgid "Wizard Field" -msgstr "" - #. module: base #: help:ir.sequence,prefix:0 msgid "Prefix value of the record for the sequence" @@ -9097,12 +8838,6 @@ msgstr "" msgid "terp-mail-message-new" msgstr "" -#. module: base -#: code:addons/base/res/res_user.py:0 -#, python-format -msgid "Company Switch Warning" -msgstr "" - #. module: base #: field:workflow,osv:0 #: field:workflow.instance,res_type:0 @@ -9137,13 +8872,14 @@ msgid "Delivery" msgstr "" #. module: base +#: model:res.partner.title,name:base.res_partner_title_pvt_ltd #: model:res.partner.title,shortcut:base.res_partner_title_pvt_ltd msgid "Corp." msgstr "" #. module: base -#: model:res.country,name:base.gw -msgid "Guinea Bissau" +#: selection:base.language.install,lang:0 +msgid "Korean / Korea, Republic of" msgstr "" #. module: base diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index 543185530e3..6f9cdad2518 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -265,7 +265,7 @@ class users(osv.osv): ] _sql_constraints = [ - ('login_key', 'UNIQUE (login)', 'You can not have two users with the same login !') + ('login_key', 'UNIQUE (login)', _('You can not have two users with the same login !')) ] def _get_email_from(self, cr, uid, ids, context=None): From a578d8a6bfd93daacb709ff48e0665bb901e7d20 Mon Sep 17 00:00:00 2001 From: "vda (Open ERP)" Date: Thu, 18 Nov 2010 15:08:45 +0530 Subject: [PATCH 014/120] [FIX] Widget per user. bzr revid: vda@tinyerp.com-20101118093845-l94t2z4qw9kc4dse --- bin/addons/base/res/res_widget.py | 9 +++++---- bin/addons/base/res/res_widget_view.xml | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/bin/addons/base/res/res_widget.py b/bin/addons/base/res/res_widget.py index 14b7338bde0..eddb432dfde 100644 --- a/bin/addons/base/res/res_widget.py +++ b/bin/addons/base/res/res_widget.py @@ -41,15 +41,16 @@ res_widget_user() class res_widget_wizard(osv.osv_memory): _name = "res.widget.wizard" - _description = "Add a widget" + _description = "Add a widget for User" _columns = { - 'widget_id': fields.one2many("res.widget", 'Widget', required=True), + 'widget_id': fields.many2one("res.widget", 'Widget', required=1), } - def widget_add(self, cr, uid, ids, context=None): + + def add_res_widget(self, cr, uid, ids, context=None): if context is None: context = {} wizard = self.read(cr, uid, ids)[0] self.pool.get('res.widget.user').create(cr, uid, {'user_id':uid, 'widget_id':wizard['widget_id']}) - return {} + return {'type': 'ir.actions.act_window_close'} res_widget_wizard() diff --git a/bin/addons/base/res/res_widget_view.xml b/bin/addons/base/res/res_widget_view.xml index b139f774f9b..4e29d4f493f 100644 --- a/bin/addons/base/res/res_widget_view.xml +++ b/bin/addons/base/res/res_widget_view.xml @@ -74,6 +74,31 @@ + + + Widget Wizard + res.widget.wizard + form + +
+ + + + +