From d984b6d8d0e4fa589c3d3f176e470b69a228bb13 Mon Sep 17 00:00:00 2001 From: "Rvo (Open ERP)" Date: Mon, 5 Apr 2010 11:31:06 +0530 Subject: [PATCH 01/11] Removed print statement bzr revid: rvo@tinyerp.co.in-20100405060106-pz1vz05wue71p0kc --- bin/osv/orm.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index af3ca7ec6dc..ebc24530cd9 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -1119,7 +1119,6 @@ class orm_template(object): for r in res.keys(): if r not in fields: del res[r] - print 'Result from fields get', res return res # @@ -2902,7 +2901,7 @@ class orm(orm_template): :raise UserError: if the record is default property for other records """ - + if not ids: return True if isinstance(ids, (int, long)): From 13a43dfdc36b751cb9ed6c55169e76b48094b829 Mon Sep 17 00:00:00 2001 From: "DSH(OpenERP)" <> Date: Tue, 6 Apr 2010 12:03:36 +0530 Subject: [PATCH 02/11] Support tiny report tag in add_header, prevent server crash on wrong report type selection lp bug: https://launchpad.net/bugs/510834 fixed bzr revid: hda@tinyerp.com-20100406063336-sh9u8tyfqdybtrp7 --- bin/report/report_sxw.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py index 98d960db1a4..a85bac84f5c 100644 --- a/bin/report/report_sxw.py +++ b/bin/report/report_sxw.py @@ -297,11 +297,7 @@ class rml_parse(object): rml_head = self.rml_header2 else: rml_head = self.rml_header - if self.logo and (rml_head.find('company.logo')<0 or rml_head.find('',''' [[company.logo]] ''') - if not self.logo and rml_head.find('company.logo')>=0: - rml_head = rml_head.replace('','') + head_dom = etree.XML(rml_head) for tag in head_dom: found = rml_dom.find('.//'+tag.tag) @@ -443,9 +439,10 @@ class report_sxw(report_rml, preprocess.report): rml_parser = self.parser(cr, uid, self.name2, context=context) objs = self.getObjects(cr, uid, ids, context) rml_parser.set_context(objs, data, ids, report_xml.report_type) - processed_rml = self.preprocess_rml(etree.XML(rml),report_xml.report_type) + processed_rml = etree.XML(rml) if report_xml.header: rml_parser._add_header(processed_rml) + processed_rml = self.preprocess_rml(processed_rml,report_xml.report_type) if rml_parser.logo: logo = base64.decodestring(rml_parser.logo) create_doc = self.generators[report_xml.report_type] @@ -462,13 +459,18 @@ class report_sxw(report_rml, preprocess.report): sxw_z = zipfile.ZipFile(sxw_io, mode='r') rml = sxw_z.read('content.xml') meta = sxw_z.read('meta.xml') + mime_type = sxw_z.read('mimetype') + if mime_type == 'application/vnd.sun.xml.writer': + mime_type = 'sxw' + else : + mime_type = 'odt' sxw_z.close() rml_parser = self.parser(cr, uid, self.name2, context=context) rml_parser.parents = sxw_parents rml_parser.tag = sxw_tag objs = self.getObjects(cr, uid, ids, context) - rml_parser.set_context(objs, data, ids,report_xml.report_type) + rml_parser.set_context(objs, data, ids, mime_type) rml_dom_meta = node = etree.XML(meta) elements = node.findall(rml_parser.localcontext['name_space']["meta"]+"user-defined") @@ -489,7 +491,7 @@ class report_sxw(report_rml, preprocess.report): for n in rml_dom.iterdescendants(): if n.tag == key1: elements.append(n) - if report_type == 'odt': + if mime_type == 'odt': for pe in elements: e = pe.findall(key2) for de in e: @@ -520,8 +522,8 @@ class report_sxw(report_rml, preprocess.report): if de.getparent(): pp.remove(de) - rml_dom = self.preprocess_rml(rml_dom,report_type) - create_doc = self.generators[report_type] + rml_dom = self.preprocess_rml(rml_dom, mime_type) + create_doc = self.generators[mime_type] odt = etree.tostring(create_doc(rml_dom, rml_parser.localcontext), encoding='utf-8', xml_declaration=True) sxw_z = zipfile.ZipFile(sxw_io, mode='a') @@ -547,7 +549,7 @@ class report_sxw(report_rml, preprocess.report): sxw_z.close() final_op = sxw_io.getvalue() sxw_io.close() - return (final_op, report_type) + return (final_op, mime_type) def create_single_html2html(self, cr, uid, ids, data, report_xml, context=None): if not context: From b7133378a2281aca219357c8da27a5455accb309 Mon Sep 17 00:00:00 2001 From: "DSH(OpenERP)" <> Date: Tue, 6 Apr 2010 15:03:56 +0530 Subject: [PATCH 03/11] Added removeParentNode in company header logo bzr revid: hda@tinyerp.com-20100406093356-lz9cdk9ldswks2m3 --- bin/addons/base/res/res_company.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index dccf08ed2ed..ea64aa5eb16 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -209,7 +209,7 @@ class res_company(osv.osv): - [[company.logo]] + [[ company.logo or removeParentNode('image') ]] From 91a88a3f8dbd4d2438ddd273d3683fe7a16d03ba Mon Sep 17 00:00:00 2001 From: "HDA (OpenERP)" Date: Tue, 6 Apr 2010 15:56:21 +0530 Subject: [PATCH 04/11] Improved docstring of orm bzr revid: hda@tinyerp.com-20100406102621-0n65uvesduhpv987 --- bin/osv/orm.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 589681ebfaf..29eab99a7d1 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -2493,12 +2493,12 @@ class orm(orm_template): def default_get(self, cr, uid, fields_list, context=None): """ - Get default field values of the given field list of the model + To Get default field values of given fields list of the model :param cr: database cursor :param uid: current user id :param fields_list: a list of fields to get the default value - :type fields_list: a list (example ['field_name_1', ...]) + :type fields_list: a list (example ['field1','field2',]) :param context: context arguments, like lang, time zone :return: a dictionary of the default values for fields (set on the object class, by the user preferences, or via the context) @@ -2872,9 +2872,9 @@ class orm(orm_template): def check_access_rule(self, cr, uid, ids, operation, context=None): """Verifies that the operation given by ``operation`` is allowed for the user according to ir.rules. - @param ``operation``: one of ``'read'``, ``'write'``, ``'unlink'`` - @raise ``except_orm``: if current ir.rules do not permit this operation. - @return: ``None`` if the operation is allowed + :param operation: one of ``'read'``, ``'write'``, ``'unlink'`` + :raise except_orm: * if current ir.rules do not permit this operation. + :return: None if the operation is allowed """ where_clause, where_params, tables = self.pool.get('ir.rule').domain_get(cr, uid, self._name, operation, context=context) if where_clause: @@ -2955,9 +2955,9 @@ class orm(orm_template): :param cr: database cursor :param user: current user id :type user: integer (example 1) - :param ids: id or a list of ids - :param vals: a dictionary of field values to update - :type vals: a dictionary (example {'field_name':'value', ...}) + :param ids: id or list of ids + :param vals: dictionary of field values to update + :type vals: dictionary (example {'field_name':'value', ...}) :param context(optional, highly recommended): context arguments, like lang, time zone :return: True :raise AccessError: * if user has no write rights on the requested object @@ -3165,10 +3165,10 @@ class orm(orm_template): :param cr: database cursor :param user: current user id :type user: integer (example 1) - :param vals: a dictionary for new record {'field_name':field_value, ...} - :type vals: a dictionary (example {'field_name':field_value, ...}) + :param vals: dictionary for new record {'field_name':field_value, ...} + :type vals: dictionary (example {'field_name':field_value, ...}) :param context(optional, highly recommended): context arguements, like lang, time zone - :type context: a dictionary (example {'lang':'en_us', ...}) + :type context: dictionary (example {'lang':'en_us', ...}) :return: id of new record created :raise AccessError: * if user has no create rights on the requested object * if user tries to bypass access rules for create on the requested object @@ -3532,10 +3532,10 @@ class orm(orm_template): :param cr: database cursor :param user: current user id - :param args: a list of tuples specifying search criteria [('field_name', 'operator', 'value'), ...] - :param offset: optional number of records to skip + :param args: list of tuples specifying search criteria [('field_name', 'operator', 'value'), ...] + :param offset: optional number from search starts :param limit: optional max number of records to return - :param order: optional columns to sort by (default: self._order ) + :param order: optional columns to sort by (default: self._order=id ) :param context(optional, highly recommended): context arguments, like lang, time zone :param count: if True, returns only the number of records matching the criteria, not their ids :return: id or a list of ids of records matching the criteria From 927227cef9f80780a265e9407d46487012892a86 Mon Sep 17 00:00:00 2001 From: "Rvo (Open ERP)" Date: Tue, 6 Apr 2010 18:00:28 +0530 Subject: [PATCH 05/11] [IMP]:improved orm's public methods docstrings bzr revid: rvo@tinyerp.co.in-20100406123028-1mroxby4v4ijbxtr --- bin/osv/orm.py | 97 +++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 29eab99a7d1..59f64d704d6 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -139,7 +139,7 @@ class browse_record(object): def __init__(self, cr, uid, id, table, cache, context=None, list_class = None, fields_process={}): ''' table : the object (inherited from orm) - context : a dictionary with an optional context + context : dictionary with an optional context ''' if not context: context = {} @@ -506,9 +506,9 @@ class orm_template(object): :param cr: database cursor :param user: current user id - :param select: id or a list of ids + :param select: id or list of ids :param context: context arguments, like lang, time zone - :rtype: object or a list of objects requested + :rtype: object or list of objects requested """ if not context: @@ -631,10 +631,10 @@ class orm_template(object): :param cr: database cursor :param uid: current user id - :param ids: a list of ids - :param fields_to_export: a list of fields + :param ids: list of ids + :param fields_to_export: list of fields :param context: context arguments, like lang, time zone, may contain import_comp(default: False) to make exported data compatible with import_data() - :rtype: a dictionary with a *datas* matrix + :rtype: dictionary with a *datas* matrix This method is used when exporting data via client menu @@ -673,15 +673,15 @@ class orm_template(object): :param cr: database cursor :param uid: current user id - :param ids: a list of ids - :param fields: a list of fields + :param ids: list of ids + :param fields: list of fields :param data: data to import :param mode: 'init' or 'update' for record creation :param current_module: module name :param noupdate: flag for record creation :param context: context arguments, like lang, time zone, :param filename: optional file to store partial import state for recovery - :rtype: a tuple + :rtype: tuple This method is used when importing data via client menu @@ -1362,9 +1362,9 @@ class orm_template(object): :param view_id: id of the view or None :param view_type: type of the view to return if view_id is None ('form', tree', ...) :param context: context arguments, like lang, time zone - :param toolbar: true to include concextual actions + :param toolbar: true to include contextual actions :param submenu: example (portal_project module) - :return: a dictionary describing the composition of the requested view (including inherited views and extensions) + :return: dictionary describing the composition of the requested view (including inherited views and extensions) :raise AttributeError: * if the inherited view has unknown position to work with other than 'before', 'after', 'inside', 'replace' * if some tag other than 'position' is found in parent view @@ -1934,22 +1934,22 @@ class orm(orm_template): def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None): """ - Get the list of records in list view sorted by the given fields + Get the list of records in list view grouped by the given ``groupby`` fields :param cr: database cursor :param uid: current user id - :param domain: a list specifying search criteria [['field_name', 'operator', 'value'], ...] - :param fields: a list of fields present in the list view specified on the object - :param groupby: a list of fields on which to sort the records - :type fields_list: a list (example ['field_name_1', ...]) + :param domain: list specifying search criteria [['field_name', 'operator', 'value'], ...] + :param fields: list of fields present in the list view specified on the object + :param groupby: list of fields on which to groupby the records + :type fields_list: list (example ['field_name_1', ...]) :param offset: optional number of records to skip :param limit: optional max number of records to return :param context: context arguments, like lang, time zone - :return: a list of dictionaries(one dictionary for each record) containing: + :return: list of dictionaries(one dictionary for each record) containing: - * the values of fields sorted out by the fields in groupby arguement - * __domain: a list of tuples specifying the search criteria - * __context: a dictionary with argument like 'groupby' + * the values of fields grouped by the fields in ``groupby`` argument + * __domain: list of tuples specifying the search criteria + * __context: dictionary with argument like ``groupby`` :rtype: [{'field_name_1': value, ...] :raise AccessError: * if user has no read rights on the requested object * if user tries to bypass access rules for read on the requested object @@ -2035,7 +2035,7 @@ class orm(orm_template): Adds missing table select and join clause(s) for reaching the field coming from an '_inherits' parent table. - :param tables: a list of table._table names enclosed in double quotes as returned + :param tables: list of table._table names enclosed in double quotes as returned by _where_calc() """ @@ -2497,10 +2497,10 @@ class orm(orm_template): :param cr: database cursor :param uid: current user id - :param fields_list: a list of fields to get the default value - :type fields_list: a list (example ['field1','field2',]) + :param fields_list: list of fields to get the default value + :type fields_list: list (example ['field1', 'field2',]) :param context: context arguments, like lang, time zone - :return: a dictionary of the default values for fields (set on the object class, by the user preferences, or via the context) + :return: dictionary of the default values for fields (set on the object class, by the user preferences, or via the context) """ if not context: @@ -2599,9 +2599,9 @@ class orm(orm_template): :param cr: database cursor :param user: current user id - :param fields: a list of fields + :param fields: list of fields :param context: context arguments, like lang, time zone - :return: a dictionary of field dictionaries, each one describing a field of the business object + :return: dictionary of field dictionaries, each one describing a field of the business object :raise AccessError: * if user has no create/write rights on the requested object """ @@ -2616,11 +2616,11 @@ class orm(orm_template): :param cr: database cursor :param user: current user id - :param ids: id or a list of the ids of the records to read + :param ids: id or list of the ids of the records to read :param fields: optional list of field names to return (default: all fields would be returned) - :type fields: a list (example ['field_name_1', ...]) + :type fields: list (example ['field_name_1', ...]) :param context(optional, highly recommended): context arguments, like lang, time zone - :return: a list of dictionaries((a dictionary per record asked)) with requested field values + :return: list of dictionaries((dictionary per record asked)) with requested field values :rtype: [{‘name_of_the_field’: value, ...}, ...] :raise AccessError: * if user has no read rights on the requested object * if user tries to bypass access rules for read on the requested object @@ -2819,8 +2819,8 @@ class orm(orm_template): :param ids: id or list of ids :param context: context arguments, like lang, time zone :param details: if True, *_uid fields are replaced with the name of the user - :return: a list of ownership dictionaries for each requested record - :rtype: a list of dictionaries with the following keys: + :return: list of ownership dictionaries for each requested record + :rtype: list of dictionaries with the following keys: * id: object id * create_uid: user who created the record @@ -2872,7 +2872,8 @@ class orm(orm_template): def check_access_rule(self, cr, uid, ids, operation, context=None): """Verifies that the operation given by ``operation`` is allowed for the user according to ir.rules. - :param operation: one of ``'read'``, ``'write'``, ``'unlink'`` + + :param operation: one of ``write``, ``unlink`` :raise except_orm: * if current ir.rules do not permit this operation. :return: None if the operation is allowed """ @@ -2894,7 +2895,7 @@ class orm(orm_template): :param cr: database cursor :param uid: current user id - :param ids: id or a list of ids + :param ids: id or list of ids :param context(optional, highly recommended): context arguments, like lang, time zone :return: True :raise AccessError: * if user has no unlink rights on the requested object @@ -2957,7 +2958,7 @@ class orm(orm_template): :type user: integer (example 1) :param ids: id or list of ids :param vals: dictionary of field values to update - :type vals: dictionary (example {'field_name':'value', ...}) + :type vals: dictionary (example {'field_name': 'value', ...}) :param context(optional, highly recommended): context arguments, like lang, time zone :return: True :raise AccessError: * if user has no write rights on the requested object @@ -3165,10 +3166,10 @@ class orm(orm_template): :param cr: database cursor :param user: current user id :type user: integer (example 1) - :param vals: dictionary for new record {'field_name':field_value, ...} - :type vals: dictionary (example {'field_name':field_value, ...}) - :param context(optional, highly recommended): context arguements, like lang, time zone - :type context: dictionary (example {'lang':'en_us', ...}) + :param vals: dictionary for new record {'field_name': field_value, ...} + :type vals: dictionary (example {'field_name': field_value, ...}) + :param context(optional, highly recommended): context arguments, like lang, time zone + :type context: dictionary (example {'lang': 'en_us', ...}) :return: id of new record created :raise AccessError: * if user has no create rights on the requested object * if user tries to bypass access rules for create on the requested object @@ -3538,8 +3539,8 @@ class orm(orm_template): :param order: optional columns to sort by (default: self._order=id ) :param context(optional, highly recommended): context arguments, like lang, time zone :param count: if True, returns only the number of records matching the criteria, not their ids - :return: id or a list of ids of records matching the criteria - :rtype: integer or a list of integers + :return: id or list of ids of records matching the criteria + :rtype: integer or list of integers :raise AccessError: * if user tries to bypass access rules for read on the requested object. Operators: @@ -3602,7 +3603,7 @@ class orm(orm_template): :param cr: database cursor :param user: current user id :type user: integer (example 1) - :param ids: a list of ids + :param ids: list of ids :param context: context arguments, like lang, time zone :return: tuples with the text representation of requested objects for to-many relationships @@ -3622,11 +3623,11 @@ class orm(orm_template): :param cr: database cursor :param user: current user id :param name: object name to search - :param args: a list of tuples specifying search criteria [('field_name', 'operator', 'value'), ...] + :param args: list of tuples specifying search criteria [('field_name', 'operator', 'value'), ...] :param operator: operator for search criterion :param context: context arguments, like lang, time zone :param limit: optional max number of records to return - :return: a list of object names matching the search criteria, used to provide completition for to-many relationships + :return: list of object names matching the search criteria, used to provide completion for to-many relationships This method is equivalent of search() on name + name_get() @@ -3649,9 +3650,9 @@ class orm(orm_template): :param cr: database cursor :param user: current user id :param ids: id of the record to copy - :param default: a dictionary of field values to update before saving the duplicate object + :param default: dictionary of field values to update before saving the duplicate object :param context: context arguments, like lang, time zone - :return: a dictionary containing all the field values + :return: dictionary containing all the field values """ if not context: @@ -3731,8 +3732,8 @@ class orm(orm_template): :param cr: database cursor :param uid: current user id :param id: id of the record to copy - :param default: a dictionary of field values to update before saving the duplicate object - :type default: a dictionary (example {'field_name':field_value, ...}) + :param default: dictionary of field values to update before saving the duplicate object + :type default: dictionary (example {'field_name': field_value, ...}) :param context: context arguments, like lang, time zone :return: True @@ -3756,7 +3757,7 @@ class orm(orm_template): :param cr: database cursor :param uid: current user id - :param ids: a list of ids of records + :param ids: list of ids of records :param parent: parent field name :return: True or False based on recursion detection """ From 27ad104c7267885ac5619fac48a6dee776f40e1b Mon Sep 17 00:00:00 2001 From: Launchpad Code Hosting Date: Thu, 8 Apr 2010 08:18:56 +0100 Subject: [PATCH 06/11] Launchpad automatic translations update. bzr revid: codehost@crowberry-20100408071856-gn50itkf796vgoie --- addons/account_payment/i18n/cs.po | 44 +- addons/audittrail/i18n/it.po | 18 +- addons/base_contact/i18n/ko.po | 2 +- addons/crm/i18n/fi.po | 2 +- addons/hr_timesheet/i18n/de.po | 2 +- addons/olap_extract/i18n/zh_CN.po | 56 +++ addons/report_purchase/i18n/ko.po | 2 +- addons/scrum/i18n/ko.po | 2 +- addons/survey/i18n/zh_CN.po | 695 ++++++++++++++++++++++++++++++ addons/thunderbird/i18n/zh_CN.po | 85 ++++ 10 files changed, 872 insertions(+), 36 deletions(-) create mode 100644 addons/olap_extract/i18n/zh_CN.po create mode 100644 addons/survey/i18n/zh_CN.po create mode 100644 addons/thunderbird/i18n/zh_CN.po diff --git a/addons/account_payment/i18n/cs.po b/addons/account_payment/i18n/cs.po index efe3a9ada7d..307e7372453 100644 --- a/addons/account_payment/i18n/cs.po +++ b/addons/account_payment/i18n/cs.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-02-03 06:24+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2010-04-07 22:24+0000\n" +"Last-Translator: mitev.dmitry \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: 2010-03-30 04:07+0000\n" +"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_payment @@ -46,7 +46,7 @@ msgstr "" #: field:payment.line,info_owner:0 #: view:payment.order:0 msgid "Owner Account" -msgstr "" +msgstr "Majitel účtu" #. module: account_payment #: help:account.invoice,amount_to_pay:0 @@ -65,17 +65,17 @@ msgstr "" #. module: account_payment #: field:payment.order,date_prefered:0 msgid "Preferred date" -msgstr "" +msgstr "Preferované datum" #. module: account_payment #: selection:payment.line,state:0 msgid "Free" -msgstr "" +msgstr "Volný" #. module: account_payment #: wizard_field:populate_payment,search,entries:0 msgid "Entries" -msgstr "" +msgstr "Příspěvky" #. module: account_payment #: wizard_field:populate_payment,init,duedate:0 @@ -96,7 +96,7 @@ msgstr "" #: rml:payment.order:0 #: view:payment.order:0 msgid "Amount" -msgstr "" +msgstr "Částka" #. module: account_payment #: rml:payment.order:0 @@ -111,7 +111,7 @@ msgstr "" #. module: account_payment #: selection:payment.order,state:0 msgid "Cancelled" -msgstr "" +msgstr "Zrušeno" #. module: account_payment #: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new @@ -123,7 +123,7 @@ msgstr "" #: rml:payment.order:0 #: field:payment.order,reference:0 msgid "Reference" -msgstr "" +msgstr "Odkaz" #. module: account_payment #: model:ir.actions.act_window,name:account_payment.action_payment_order_tree @@ -134,7 +134,7 @@ msgstr "" #. module: account_payment #: selection:payment.order,date_prefered:0 msgid "Directly" -msgstr "" +msgstr "Přímo" #. module: account_payment #: model:ir.actions.act_window,name:account_payment.action_payment_line_form @@ -157,7 +157,7 @@ msgstr "" #. module: account_payment #: selection:payment.order,state:0 msgid "Confirmed" -msgstr "" +msgstr "Potvrzeno" #. module: account_payment #: help:payment.line,ml_date_created:0 @@ -177,12 +177,12 @@ msgstr "" #. module: account_payment #: selection:payment.line,state:0 msgid "Structured" -msgstr "" +msgstr "Strukturované" #. module: account_payment #: field:payment.order,state:0 msgid "State" -msgstr "" +msgstr "Stav" #. module: account_payment #: view:payment.line:0 @@ -223,17 +223,17 @@ msgstr "" #. module: account_payment #: field:payment.order,date_done:0 msgid "Execution date" -msgstr "" +msgstr "Datum představení" #. module: account_payment #: selection:payment.order,date_prefered:0 msgid "Fixed date" -msgstr "" +msgstr "Pevné datum" #. module: account_payment #: field:payment.line,info_partner:0 msgid "Destination Account" -msgstr "" +msgstr "Protiúčet" #. module: account_payment #: view:payment.line:0 @@ -251,12 +251,12 @@ msgstr "" #: wizard_button:populate_payment,search,end:0 #: wizard_button:populate_statement,init,end:0 msgid "_Cancel" -msgstr "" +msgstr "Zrušit" #. module: account_payment #: field:payment.line,create_date:0 msgid "Created" -msgstr "" +msgstr "Vytvořeno" #. module: account_payment #: view:payment.line:0 @@ -281,12 +281,12 @@ msgstr "" #. module: account_payment #: field:payment.line,communication:0 msgid "Communication" -msgstr "" +msgstr "Komunikace" #. module: account_payment #: selection:payment.order,date_prefered:0 msgid "Due date" -msgstr "" +msgstr "Termín dokončení" #. module: account_payment #: field:account.invoice,amount_to_pay:0 @@ -307,7 +307,7 @@ msgstr "" #: view:payment.type:0 #: help:payment.type,name:0 msgid "Payment Type" -msgstr "" +msgstr "Typ platby" #. module: account_payment #: help:payment.line,amount_currency:0 diff --git a/addons/audittrail/i18n/it.po b/addons/audittrail/i18n/it.po index ef0956d2e0a..7300efc8c8d 100644 --- a/addons/audittrail/i18n/it.po +++ b/addons/audittrail/i18n/it.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-02-03 12:33+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2010-04-07 08:27+0000\n" +"Last-Translator: iTuxer \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: 2010-03-30 04:13+0000\n" +"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: audittrail #: model:ir.module.module,shortdesc:audittrail.module_meta_information msgid "Audit Trail" -msgstr "" +msgstr "Audit Trail" #. module: audittrail #: constraint:ir.model:0 @@ -32,22 +32,22 @@ msgstr "" #. module: audittrail #: field:audittrail.log.line,log_id:0 msgid "Log" -msgstr "" +msgstr "Log" #. module: audittrail #: selection:audittrail.rule,state:0 msgid "Subscribed" -msgstr "" +msgstr "Iscritto" #. module: audittrail #: view:audittrail.log:0 msgid "Old Value : " -msgstr "" +msgstr "Valore precendente : " #. module: audittrail #: selection:audittrail.log,method:0 msgid "Create" -msgstr "" +msgstr "Crea" #. module: audittrail #: wizard_view:audittrail.view.log,init:0 @@ -67,7 +67,7 @@ msgstr "" #. module: audittrail #: field:audittrail.log.line,old_value:0 msgid "Old Value" -msgstr "" +msgstr "Valore precedente" #. module: audittrail #: constraint:ir.actions.act_window:0 diff --git a/addons/base_contact/i18n/ko.po b/addons/base_contact/i18n/ko.po index 698c28484c7..6089514cbc6 100644 --- a/addons/base_contact/i18n/ko.po +++ b/addons/base_contact/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: 2010-04-07 03:46+0000\n" +"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: base_contact diff --git a/addons/crm/i18n/fi.po b/addons/crm/i18n/fi.po index f06b2d047d3..123847c8f0e 100644 --- a/addons/crm/i18n/fi.po +++ b/addons/crm/i18n/fi.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: 2010-04-07 03:46+0000\n" +"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: crm diff --git a/addons/hr_timesheet/i18n/de.po b/addons/hr_timesheet/i18n/de.po index acb4bc52b66..d1c900449bc 100644 --- a/addons/hr_timesheet/i18n/de.po +++ b/addons/hr_timesheet/i18n/de.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: 2010-04-07 03:46+0000\n" +"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: hr_timesheet diff --git a/addons/olap_extract/i18n/zh_CN.po b/addons/olap_extract/i18n/zh_CN.po new file mode 100644 index 00000000000..1db74819a6a --- /dev/null +++ b/addons/olap_extract/i18n/zh_CN.po @@ -0,0 +1,56 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-11-26 05:29+0000\n" +"PO-Revision-Date: 2010-04-08 02:07+0000\n" +"Last-Translator: Silence \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: 2010-04-08 07:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: olap_extract +#: model:ir.module.module,shortdesc:olap_extract.module_meta_information +msgid "olap_extract" +msgstr "" + +#. module: olap_extract +#: wizard_button:olap.extract.schema,init,ok:0 +msgid "OK" +msgstr "确定" + +#. module: olap_extract +#: model:ir.actions.wizard,name:olap_extract.bi_olap_extract_schema +msgid "Olap Extract" +msgstr "Olap提取" + +#. module: olap_extract +#: model:ir.module.module,description:olap_extract.module_meta_information +msgid "" +"\n" +" Extracts the schema structure.\n" +" " +msgstr "" + +#. module: olap_extract +#: wizard_field:olap.extract.schema,init,module_name:0 +msgid "Module Name" +msgstr "模块名称" + +#. module: olap_extract +#: wizard_button:olap.extract.schema,init,end:0 +msgid "Cancel" +msgstr "取消" + +#. module: olap_extract +#: wizard_view:olap.extract.schema,init:0 +msgid "New Module Name" +msgstr "新的模块名" diff --git a/addons/report_purchase/i18n/ko.po b/addons/report_purchase/i18n/ko.po index 956f97ff5a9..acaed1974e2 100644 --- a/addons/report_purchase/i18n/ko.po +++ b/addons/report_purchase/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: 2010-04-07 03:46+0000\n" +"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: report_purchase diff --git a/addons/scrum/i18n/ko.po b/addons/scrum/i18n/ko.po index aad7e238eae..91938c8d324 100644 --- a/addons/scrum/i18n/ko.po +++ b/addons/scrum/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: 2010-04-07 03:46+0000\n" +"X-Launchpad-Export-Date: 2010-04-08 07:18+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: scrum diff --git a/addons/survey/i18n/zh_CN.po b/addons/survey/i18n/zh_CN.po new file mode 100644 index 00000000000..e64d4c1d0b7 --- /dev/null +++ b/addons/survey/i18n/zh_CN.po @@ -0,0 +1,695 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-11-26 06:01+0000\n" +"PO-Revision-Date: 2010-04-08 01:37+0000\n" +"Last-Translator: Silence \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: 2010-04-08 07:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: survey +#: model:ir.ui.menu,name:survey.menu_survey_form +msgid "Surveys" +msgstr "调查" + +#. module: survey +#: model:ir.actions.report.xml,name:survey.survey +msgid "Survey Analysis Report" +msgstr "调查分析报告" + +#. module: survey +#: model:ir.actions.act_window,name:survey.act_survey_page_question +#: model:ir.ui.menu,name:survey.menu_survey_question_form1 +msgid "Survey Questions" +msgstr "调查问题" + +#. module: survey +#: view:survey:0 +#: view:survey.response:0 +msgid "Set to draft" +msgstr "设为草稿" + +#. module: survey +#: constraint:ir.actions.act_window:0 +msgid "Invalid model name in the action definition." +msgstr "在动作定义使用了无效的模型名称。" + +#. module: survey +#: field:survey.history,date:0 +msgid "Date started" +msgstr "开始日期" + +#. module: survey +#: field:survey,history:0 +msgid "History Lines" +msgstr "日志明细" + +#. module: survey +#: wizard_field:wizard.send.invitation,init,mail:0 +msgid "Body" +msgstr "内容" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_view_survey_name +#: model:ir.ui.menu,name:survey.menu_run_survey_form +msgid "Give Survey Response" +msgstr "调查回答" + +#. module: survey +#: model:ir.actions.act_window,name:survey.act_survey_question +msgid "All Questions" +msgstr "所有问题" + +#. module: survey +#: field:survey,date_open:0 +msgid "Survey Open Date" +msgstr "调查开展日期" + +#. module: survey +#: model:ir.model,name:survey.model_survey_name_wiz +msgid "survey.name.wiz" +msgstr "" + +#. module: survey +#: view:survey:0 +msgid "Users Details" +msgstr "用户详细信息" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_view_survey_question_message +#: model:ir.model,name:survey.model_survey_question +#: view:survey:0 +#: view:survey.page:0 +#: view:survey.question:0 +msgid "Survey Question" +msgstr "调查问题" + +#. module: survey +#: help:survey,response_user:0 +msgid "Set to one if you require only one response per user" +msgstr "如果你只需要每个用户回答,设为1" + +#. module: survey +#: field:survey.page,title:0 +msgid "Page Title" +msgstr "页面标题" + +#. module: survey +#: model:ir.model,name:survey.model_survey_history +msgid "Survey History" +msgstr "调查历史" + +#. module: survey +#: field:survey.response,comment:0 +#: field:survey.response.answer,comment:0 +msgid "Notes" +msgstr "备注" + +#. module: survey +#: field:survey.question,tot_resp:0 +msgid "Total Response" +msgstr "回答合计" + +#. module: survey +#: view:survey.question.wiz:0 +msgid "Your Messages" +msgstr "你的消息" + +#. module: survey +#: selection:survey,state:0 +msgid "Cancelled" +msgstr "已取消" + +#. module: survey +#: field:survey.question,allow_comment:0 +msgid "Allow Comment Field" +msgstr "允许注释字段" + +#. module: survey +#: code:addons/survey/survey.py:0 +#, python-format +msgid "Warning !" +msgstr "警告!" + +#. module: survey +#: wizard_view:wizard.send.invitation,init:0 +#: wizard_field:wizard.send.invitation,init,send_mail_existing:0 +msgid "Send reminder for existing user" +msgstr "为现有用户发送提醒" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_new_survey_question_form +#: model:ir.ui.menu,name:survey.menu_new_survey_question_form1 +msgid "New Survey Question" +msgstr "新的调查问题" + +#. module: survey +#: view:survey.response:0 +msgid "Skip" +msgstr "跳过" + +#. module: survey +#: wizard_field:wizard.send.invitation,init,partner_ids:0 +msgid "Partner" +msgstr "伙伴" + +#. module: survey +#: wizard_field:wizard.send.invitation,init,mail_subject:0 +#: wizard_field:wizard.send.invitation,init,mail_subject_existing:0 +msgid "Subject" +msgstr "主题" + +#. module: survey +#: field:survey,max_response_limit:0 +msgid "Maximum Response Limit" +msgstr "" + +#. module: survey +#: wizard_field:wizard.send.invitation,init,mail_from:0 +msgid "From" +msgstr "发件人" + +#. module: survey +#: field:survey.response,response_type:0 +msgid "Response Type" +msgstr "" + +#. module: survey +#: field:survey.name.wiz,transfer:0 +msgid "Page Transfer" +msgstr "" + +#. module: survey +#: field:survey.answer,question_id:0 +#: field:survey.page,question_ids:0 +#: field:survey.question,question:0 +#: field:survey.response,question_id:0 +msgid "Question" +msgstr "" + +#. module: survey +#: wizard_button:wizard.send.invitation,init,send:0 +msgid "Send" +msgstr "" + +#. module: survey +#: field:survey.answer,response:0 +msgid "#Response" +msgstr "" + +#. module: survey +#: field:survey.response,response_answer_ids:0 +msgid "Response Answer" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Response Summary" +msgstr "" + +#. module: survey +#: wizard_view:wizard.send.invitation,init:0 +#: wizard_field:wizard.send.invitation,init,send_mail:0 +msgid "Send mail for new user" +msgstr "" + +#. module: survey +#: code:addons/survey/survey.py:0 +#, python-format +msgid "Error !" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Skipped Question" +msgstr "" + +#. module: survey +#: wizard_button:wizard.send.invitation,send,end:0 +msgid "_Ok" +msgstr "" + +#. module: survey +#: selection:survey.response,response_type:0 +msgid "Link" +msgstr "" + +#. module: survey +#: model:ir.ui.menu,name:survey.menu_survey_config +msgid "Configuration" +msgstr "" + +#. module: survey +#: model:ir.model,name:survey.model_survey_question_wiz +msgid "survey.question.wiz" +msgstr "" + +#. module: survey +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "" + +#. module: survey +#: model:ir.model,name:survey.model_survey_response_answer +#: view:survey.response.answer:0 +msgid "Survey Response Answer" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Page :-" +msgstr "" + +#. module: survey +#: field:survey,response_user:0 +msgid "Maximum Response per User" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Total Started Survey :-" +msgstr "" + +#. module: survey +#: view:survey.response:0 +msgid "Comment" +msgstr "" + +#. module: survey +#: field:survey.response,date_modify:0 +msgid "Modify Date" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Answered Question" +msgstr "" + +#. module: survey +#: code:addons/survey/survey.py:0 +#, python-format +msgid "You can not give response for this survey more than %s times" +msgstr "" + +#. module: survey +#: selection:survey.response,response_type:0 +msgid "Manually" +msgstr "" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_survey_form1 +msgid "All Surveys" +msgstr "" + +#. module: survey +#: view:survey:0 +#: field:survey,users:0 +msgid "Users" +msgstr "" + +#. module: survey +#: wizard_view:wizard.send.invitation,init:0 +msgid "Message" +msgstr "" + +#. module: survey +#: field:survey.name.wiz,page_no:0 +msgid "Page Number" +msgstr "" + +#. module: survey +#: wizard_field:wizard.send.invitation,send,note:0 +msgid "Log" +msgstr "" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_survey_question_form +msgid "All Survey Questions" +msgstr "" + +#. module: survey +#: field:survey,date_close:0 +msgid "Survey Close Date" +msgstr "" + +#. module: survey +#: view:survey.name.wiz:0 +msgid "Start" +msgstr "" + +#. module: survey +#: selection:survey,state:0 +#: selection:survey.response,state:0 +msgid "Draft" +msgstr "" + +#. module: survey +#: selection:survey,state:0 +msgid "Closed" +msgstr "" + +#. module: survey +#: view:survey:0 +#: field:survey.answer,answer:0 +#: view:survey.page:0 +#: view:survey.question:0 +#: field:survey.question,answer_choice_ids:0 +#: field:survey.response.answer,answer_id:0 +msgid "Answer" +msgstr "" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_survey_page_form +msgid "All Survey Pages" +msgstr "" + +#. module: survey +#: field:survey.name.wiz,store_ans:0 +msgid "Store Answer" +msgstr "" + +#. module: survey +#: field:survey,state:0 +#: field:survey.response,state:0 +msgid "Status" +msgstr "" + +#. module: survey +#: model:ir.module.module,shortdesc:survey.module_meta_information +msgid "Survey Module" +msgstr "" + +#. module: survey +#: model:ir.module.module,description:survey.module_meta_information +msgid "" +"\n" +" This module is used for surveing. It depends on the answers or reviews " +"of some questions by different users.\n" +" A survey may have multiple pages. Each page may contain multiple " +"questions and each question may have multiple answers.\n" +" Different users may give different answers of question and according to " +"that survey is done. \n" +" Partners are also sent mails with user name and password for the " +"invitation of the survey\n" +" " +msgstr "" + +#. module: survey +#: view:survey:0 +#: view:survey.name.wiz:0 +msgid "Survey Details" +msgstr "" + +#. module: survey +#: field:survey.question,is_require_answer:0 +msgid "Required Answer" +msgstr "" + +#. module: survey +#: field:survey.history,user_id:0 +#: field:survey.response,response_id:0 +msgid "User" +msgstr "" + +#. module: survey +#: field:res.users,survey_id:0 +msgid "Groups" +msgstr "" + +#. module: survey +#: view:survey:0 +#: view:survey.page:0 +#: view:survey.question:0 +#: field:survey.question,response_ids:0 +#: view:survey.response:0 +#: field:survey.response.answer,response_id:0 +msgid "Response" +msgstr "" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_new_survey_form1 +#: model:ir.ui.menu,name:survey.menu_new_survey_form +msgid "New Survey" +msgstr "" + +#. module: survey +#: model:ir.ui.menu,name:survey.main_menu_survey +msgid "Survey Management" +msgstr "" + +#. module: survey +#: selection:survey.response,state:0 +msgid "Skiped" +msgstr "" + +#. module: survey +#: model:ir.model,name:survey.model_survey_answer +#: view:survey.answer:0 +msgid "Survey Answer" +msgstr "" + +#. module: survey +#: code:addons/survey/wizard/wizard_survey.py:0 +#, python-format +msgid "Attention!" +msgstr "" + +#. module: survey +#: model:ir.model,name:survey.model_survey +#: view:res.users:0 +#: view:survey:0 +#: field:survey.history,survey_id:0 +#: view:survey.name.wiz:0 +#: field:survey.name.wiz,survey_id:0 +#: field:survey.page,survey_id:0 +#: field:survey.question,survey:0 +msgid "Survey" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Total Completed Survey :-" +msgstr "" + +#. module: survey +#: view:survey:0 +msgid "History" +msgstr "" + +#. module: survey +#: view:survey:0 +#: view:survey.answer:0 +#: view:survey.page:0 +#: view:survey.question:0 +msgid "Seq" +msgstr "" + +#. module: survey +#: field:survey,tot_comp_survey:0 +msgid "Total Completed Survey" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Response Percentage" +msgstr "" + +#. module: survey +#: field:survey.question.wiz,name:0 +msgid "Number" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Survey Title :-" +msgstr "" + +#. module: survey +#: view:survey.response:0 +msgid "Done" +msgstr "" + +#. module: survey +#: code:addons/survey/survey.py:0 +#, python-format +msgid "'\" + que_rec[0]['question'] + \"' This question requires an answer." +msgstr "" + +#. module: survey +#: view:survey:0 +#: view:survey.name.wiz:0 +#: wizard_button:wizard.send.invitation,init,end:0 +msgid "Cancel" +msgstr "" + +#. module: survey +#: view:survey:0 +msgid "Close" +msgstr "" + +#. module: survey +#: view:survey:0 +#: selection:survey,state:0 +msgid "Open" +msgstr "" + +#. module: survey +#: field:survey,tot_start_survey:0 +msgid "Total Started Survey" +msgstr "" + +#. module: survey +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" + +#. module: survey +#: model:ir.model,name:survey.model_survey_response +#: view:survey.response:0 +msgid "Survey Response" +msgstr "" + +#. module: survey +#: field:survey.answer,average:0 +msgid "#Avg" +msgstr "" + +#. module: survey +#: field:survey,responsible_id:0 +msgid "Responsible" +msgstr "" + +#. module: survey +#: selection:survey.response,state:0 +msgid "Answered" +msgstr "" + +#. module: survey +#: view:survey:0 +msgid "Other" +msgstr "" + +#. module: survey +#: model:ir.actions.wizard,name:survey.wizard_send_invitation +#: wizard_view:wizard.send.invitation,init:0 +msgid "Send Invitation" +msgstr "" + +#. module: survey +#: field:survey,title:0 +msgid "Survey Title" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "%" +msgstr "" + +#. module: survey +#: view:survey:0 +#: field:survey,note:0 +#: field:survey.name.wiz,note:0 +#: view:survey.page:0 +#: field:survey.page,note:0 +#: view:survey.response:0 +msgid "Description" +msgstr "" + +#. module: survey +#: view:survey.name.wiz:0 +msgid "Select Survey" +msgstr "" + +#. module: survey +#: model:ir.actions.act_window,name:survey.action_new_survey_page_form +#: model:ir.ui.menu,name:survey.menu_new_survey_page_form1 +msgid "New Survey Page" +msgstr "" + +#. module: survey +#: view:survey:0 +#: view:survey.page:0 +#: field:survey.question,page_id:0 +msgid "Survey Page" +msgstr "" + +#. module: survey +#: model:ir.actions.act_window,name:survey.act_survey_answer +msgid "Survey Answers" +msgstr "" + +#. module: survey +#: view:survey.page:0 +msgid "#Questions" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Que:" +msgstr "" + +#. module: survey +#: field:survey,page_ids:0 +msgid "Page" +msgstr "" + +#. module: survey +#: wizard_view:wizard.send.invitation,send:0 +msgid "User creation" +msgstr "" + +#. module: survey +#: field:survey.answer,sequence:0 +#: field:survey.page,sequence:0 +#: field:survey.question,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: survey +#: wizard_view:wizard.send.invitation,send:0 +msgid "Results :" +msgstr "" + +#. module: survey +#: code:addons/survey/wizard/wizard_survey.py:0 +#, python-format +msgid "%sSurvey is not in open state" +msgstr "" + +#. module: survey +#: wizard_view:wizard.send.invitation,init:0 +msgid "Select Partner" +msgstr "" + +#. module: survey +#: field:survey.response,date_create:0 +msgid "Create Date" +msgstr "" + +#. module: survey +#: model:ir.actions.act_window,name:survey.act_survey_pages +#: model:ir.model,name:survey.model_survey_page +#: model:ir.ui.menu,name:survey.menu_survey_page_form1 +msgid "Survey Pages" +msgstr "" + +#. module: survey +#: rml:survey_analysis_report:0 +msgid "Response Count" +msgstr "" + +#. module: survey +#: field:survey.name.wiz,page:0 +msgid "Page Position" +msgstr "" diff --git a/addons/thunderbird/i18n/zh_CN.po b/addons/thunderbird/i18n/zh_CN.po new file mode 100644 index 00000000000..f22f95d6e52 --- /dev/null +++ b/addons/thunderbird/i18n/zh_CN.po @@ -0,0 +1,85 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-11-26 06:05+0000\n" +"PO-Revision-Date: 2010-04-08 00:41+0000\n" +"Last-Translator: Silence \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: 2010-04-08 07:18+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: thunderbird +#: field:tinythunderbird.partner,copy_to:0 +msgid "Copy To" +msgstr "复制到" + +#. module: thunderbird +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "对象名必须是以x_开头并且不能含有特殊字符" + +#. module: thunderbird +#: field:tinythunderbird.partner,description:0 +msgid "Description" +msgstr "描述" + +#. module: thunderbird +#: field:tinythunderbird.partner,reference:0 +msgid "Reference" +msgstr "参考" + +#. module: thunderbird +#: model:ir.model,name:thunderbird.model_tinythunderbird_partner +msgid "Thunderbid mails" +msgstr "" + +#. module: thunderbird +#: field:tinythunderbird.partner,attachments:0 +msgid "Attached Files" +msgstr "添加附件" + +#. module: thunderbird +#: field:tinythunderbird.partner,res_user_id:0 +msgid "User" +msgstr "用户" + +#. module: thunderbird +#: field:tinythunderbird.partner,receiver:0 +msgid "Receiver" +msgstr "收件人" + +#. module: thunderbird +#: field:tinythunderbird.partner,date:0 +msgid "Date" +msgstr "日期" + +#. module: thunderbird +#: field:tinythunderbird.partner,title:0 +msgid "Subject" +msgstr "主题" + +#. module: thunderbird +#: code:addons/thunderbird/partner/partner.py:0 +#, python-format +msgid "Archive" +msgstr "存档" + +#. module: thunderbird +#: model:ir.module.module,shortdesc:thunderbird.module_meta_information +msgid "Thunderbird Interface" +msgstr "Thunderbird接口" + +#. module: thunderbird +#: field:tinythunderbird.partner,sender:0 +msgid "Sender" +msgstr "发件人" From 848bb74da6e23c865d644904034d8b98dc1a6e11 Mon Sep 17 00:00:00 2001 From: "HDA (OpenERP)" Date: Thu, 8 Apr 2010 16:12:05 +0530 Subject: [PATCH 07/11] Improved rng grammer for default attribute in filters bzr revid: hda@tinyerp.com-20100408104205-zr8psx28wvw1e3eb --- bin/addons/base/res/partner/partner_view.xml | 4 ++-- bin/addons/base/rng/view.rng | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml index 8c374acb80b..7f0c599db87 100644 --- a/bin/addons/base/res/partner/partner_view.xml +++ b/bin/addons/base/res/partner/partner_view.xml @@ -347,8 +347,7 @@ - + @@ -365,6 +364,7 @@ ir.actions.act_window res.partner form + {"search_default_supplier":supplier} diff --git a/bin/addons/base/rng/view.rng b/bin/addons/base/rng/view.rng index 09b1080e7cf..9ee1f1b213d 100644 --- a/bin/addons/base/rng/view.rng +++ b/bin/addons/base/rng/view.rng @@ -552,7 +552,6 @@ - From b882309f71c5bb22ccfdf80b3b8b98727914fa3f Mon Sep 17 00:00:00 2001 From: "nch@tinyerp.com" <> Date: Fri, 9 Apr 2010 15:48:46 +0530 Subject: [PATCH 08/11] [IMP]:printscreen Reports for Single/Multi level Groupby bzr revid: nch@tinyerp.com-20100409101846-j0v63e7teo3j6brz --- bin/addons/base/report/custom_new.xsl | 4 +- bin/report/printscreen/ps_list.py | 77 ++++++++++++++------------- 2 files changed, 43 insertions(+), 38 deletions(-) diff --git a/bin/addons/base/report/custom_new.xsl b/bin/addons/base/report/custom_new.xsl index dea86903a72..98fba709682 100644 --- a/bin/addons/base/report/custom_new.xsl +++ b/bin/addons/base/report/custom_new.xsl @@ -114,14 +114,14 @@ - + - + diff --git a/bin/report/printscreen/ps_list.py b/bin/report/printscreen/ps_list.py index b3932588cdd..a25adb975f6 100644 --- a/bin/report/printscreen/ps_list.py +++ b/bin/report/printscreen/ps_list.py @@ -27,19 +27,25 @@ from report import render import locale import time, os +from operator import itemgetter from datetime import datetime class report_printscreen_list(report_int): def __init__(self, name): report_int.__init__(self, name) self.context = {} + self.groupby = [] def _parse_node(self, root_node): result = [] + groupby = self.context.get('group_by',[]) for node in root_node: + field_name = node.get('name') if not eval(str(node.attrib.get('invisible',False)),{'context':self.context}): if node.tag == 'field': - result.append(node.get('name')) + if field_name in groupby: + continue + result.append(field_name) else: result.extend(self._parse_node(node)) return result @@ -55,6 +61,7 @@ class report_printscreen_list(report_int): if not context: context={} self.context = context + self.groupby = context.get('group_by',[]) pool = pooler.get_pool(cr.dbname) model = pool.get(datas['model']) model_id = pool.get('ir.model').search(cr, uid, [('model','=',model._name)]) @@ -64,35 +71,37 @@ class report_printscreen_list(report_int): else: model_desc = model._description self.title = model_desc - datas['ids'] = ids model = pooler.get_pool(cr.dbname).get(datas['model']) result = model.fields_view_get(cr, uid, view_type='tree', context=context) - fields_order = self._parse_string(result['arch']) - rows = model.read(cr, uid, datas['ids'], result['fields'].keys(), context) - ids2 = [x['id'] for x in rows] # getting the ids from read result - if datas['ids'] != ids2: # sorted ids were not taken into consideration for print screen - rows_new = [] - for id in datas['ids']: - element = [elem for elem in rows if elem['id']==id] - rows_new.append(element[0]) - rows = rows_new - if context.get('group_by',False): - if context['group_by'] in fields_order: - fields_order.remove(context['group_by']) - fields_order.insert(0, context['group_by']) - re = model.read_group(cr, uid, [('id','in',ids)], fields_order, context.get('group_by',False),0,None,context) - rows=[] - for r in re: - for f in fields_order: - if f not in r: - r.update({f:False}) - r['__group']=True - rows.append(r) - _ids = model.search(cr, uid, r['__domain']) - res=model.read(cr, uid, _ids, result['fields'].keys(), context) - for r in res: - rows.append(r) + fields_order = self.groupby + self._parse_string(result['arch']) + if self.groupby: + rows = [] + def get_groupby_data(groupby = [], domain = []): + records = model.read_group(cr, uid, domain, fields_order, groupby , 0, None, context) + for rec in records: + rec['__group'] = True + for f in fields_order: + if f not in rec: + rec.update({f:False}) + rows.append(rec) + groupby = (rec.get('__context', {})).get('group_by',[]) + domain = rec.get('__domain', []) + if groupby: + get_groupby_data(groupby, domain) + else: + child_ids = model.search(cr, uid, domain) + res = model.read(cr, uid, child_ids, result['fields'].keys(), context) + rows.extend(res) + get_groupby_data(self.groupby, [('id','in',ids)]) + else: + rows = model.read(cr, uid, datas['ids'], result['fields'].keys(), context) + ids2 = map(itemgetter('id'), rows) # getting the ids from read result + if datas['ids'] != ids2: # sorted ids were not taken into consideration for print screen + rows_new = [] + for id in datas['ids']: + rows_new += [elem for elem in rows if elem['id'] == id] + rows = rows_new res = self._create_table(uid, datas['ids'], result['fields'], fields_order, rows, context, model_desc) return (self.obj.get(), 'pdf') @@ -116,13 +125,14 @@ class report_printscreen_list(report_int): l = [] t = 0 - rowcount=0; + rowcount = 0; strmax = (pageSize[0]-40) * 2.8346 temp = [] + tsum = [] count = len(fields_order) for i in range(0, count): temp.append(0) - + tsum.append(0) ince = -1; for f in fields_order: s = 0 @@ -131,7 +141,7 @@ class report_printscreen_list(report_int): s = 60 strmax -= s if fields[f]['type'] in ('float','integer'): - temp[ince]=1; + temp[ince] = 1 else: t += fields[f].get('size', 80) / 28 + 1 @@ -149,10 +159,6 @@ class report_printscreen_list(report_int): field.text = tools.ustr(fields[f]['string'] or '') lines = etree.SubElement(new_doc, 'lines') - tsum = [] - count = len(fields_order) - for i in range(0,count): - tsum.append(0) for line in results: node_line = etree.SubElement(lines, 'row') count = -1 @@ -212,9 +218,8 @@ class report_printscreen_list(report_int): tsum[count] = float(tsum[count]) + float(line[f]); else: col.text = '/' - node_line = etree.SubElement(lines, 'row') - for f in range(0,count+1): + for f in range(0, count+1): col = etree.SubElement(node_line, 'col', para='group', tree='no') if tsum[f] != None: if tsum[f] >= 0.01 : From d5ded262fa4a795495ee17e845711b808ee17d5c Mon Sep 17 00:00:00 2001 From: "nch@tinyerp.com" <> Date: Fri, 9 Apr 2010 15:58:15 +0530 Subject: [PATCH 09/11] [REF]:printscreen improvements bzr revid: nch@tinyerp.com-20100409102815-zf7p8xg2yug8wjdh --- bin/report/printscreen/ps_list.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/report/printscreen/ps_list.py b/bin/report/printscreen/ps_list.py index a25adb975f6..0dea67382fe 100644 --- a/bin/report/printscreen/ps_list.py +++ b/bin/report/printscreen/ps_list.py @@ -38,12 +38,11 @@ class report_printscreen_list(report_int): def _parse_node(self, root_node): result = [] - groupby = self.context.get('group_by',[]) for node in root_node: field_name = node.get('name') if not eval(str(node.attrib.get('invisible',False)),{'context':self.context}): if node.tag == 'field': - if field_name in groupby: + if field_name in self.groupby: continue result.append(field_name) else: From 67bd95ea5c0c833b1fb407e2a010c88d898fcea5 Mon Sep 17 00:00:00 2001 From: "HDA (OpenERP)" Date: Mon, 12 Apr 2010 14:18:46 +0530 Subject: [PATCH 10/11] Improved grammer for default attribute bzr revid: hda@tinyerp.com-20100412084846-9joosfug04k265e9 --- bin/addons/base/res/partner/partner_view.xml | 4 ++-- bin/addons/base/rng/view.rng | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml index b1be567175e..004f2f8ae8a 100644 --- a/bin/addons/base/res/partner/partner_view.xml +++ b/bin/addons/base/res/partner/partner_view.xml @@ -346,7 +346,7 @@ - + @@ -363,7 +363,7 @@ ir.actions.act_window res.partner form - {"search_default_supplier":supplier} + {"search_default_Suppliers":1} diff --git a/bin/addons/base/rng/view.rng b/bin/addons/base/rng/view.rng index 1de5fb1b441..f3d060bf343 100644 --- a/bin/addons/base/rng/view.rng +++ b/bin/addons/base/rng/view.rng @@ -541,7 +541,6 @@ - From a30e469839580a1756fabc2d3ace69aa537d07a9 Mon Sep 17 00:00:00 2001 From: "nch@tinyerp.com" <> Date: Mon, 12 Apr 2010 18:28:21 +0530 Subject: [PATCH 11/11] [IMP]: removed 'parent_field' from o2m 's attrs as now it is not required by the pager bzr revid: nch@tinyerp.com-20100412125821-9p8gqt06dhs41tfa --- bin/osv/fields.py | 2 -- bin/osv/orm.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/bin/osv/fields.py b/bin/osv/fields.py index 980b3ad67c6..b3d35e1c9c0 100644 --- a/bin/osv/fields.py +++ b/bin/osv/fields.py @@ -81,7 +81,6 @@ class _column(object): self.select = select self.selectable = True self.group_operator = args.get('group_operator', False) - self.parent_field = args.get('parent_field', False) for a in args: if args[a]: setattr(self, a, args[a]) @@ -367,7 +366,6 @@ class one2many(_column): _type = 'one2many' def __init__(self, obj, fields_id, string='unknown', limit=None, **args): - args.update({'parent_field':fields_id}) _column.__init__(self, string=string, **args) self._obj = obj self._fields_id = fields_id diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 494989f910e..4cd9e39474d 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -1072,7 +1072,7 @@ class orm_template(object): continue res[f] = {'type': self._columns[f]._type} for arg in ('string', 'readonly', 'states', 'size', 'required', 'group_operator', - 'change_default', 'translate', 'help', 'select', 'selectable','parent_field'): + 'change_default', 'translate', 'help', 'select', 'selectable'): if getattr(self._columns[f], arg): res[f][arg] = getattr(self._columns[f], arg) if not read_access: