From fb3f7aa747d4d196abd3963ef1cbdfae910551a5 Mon Sep 17 00:00:00 2001 From: Numerigraphe - Lionel Sausin Date: Tue, 10 Jan 2012 13:35:59 +0100 Subject: [PATCH 0001/1075] [IMP] delivery: move picking's net weight to extended view bzr revid: ls@numerigraphe.fr-20120110123559-1llywc42k606hryj --- addons/delivery/delivery_view.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index c46253777d2..47ed9d6d274 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -194,7 +194,7 @@ - + - + - + @@ -245,7 +245,7 @@ - + @@ -258,7 +258,7 @@ - + @@ -271,7 +271,7 @@ - + From 32781b0268a8b3583869cd14809e466568ee2a7f Mon Sep 17 00:00:00 2001 From: Numerigraphe - Lionel Sausin Date: Mon, 16 Jan 2012 11:34:06 +0100 Subject: [PATCH 0002/1075] [FIX] typo in XML file bzr revid: ls@numerigraphe.fr-20120116103406-gwx3w8zlnrnvlyyr --- addons/delivery/delivery_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index 47ed9d6d274..6c9e8c85cdb 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -194,7 +194,7 @@ - @@ -207,7 +207,7 @@ - From 438cde1f2f9b6204a0cb71338eacc7dfa1fab4e9 Mon Sep 17 00:00:00 2001 From: "nicolas.bessi@camptocamp.com" <> Date: Wed, 8 Feb 2012 11:37:15 +0100 Subject: [PATCH 0003/1075] [FIX] l10n_ch bvr report to follow last patches of report_webkit addons bzr revid: nicolas.bessi@camptocamp.com-20120208103715-gk6upkf3b47av9h1 --- addons/l10n_ch/report/report_webkit_html.py | 154 +++++++------------- 1 file changed, 51 insertions(+), 103 deletions(-) diff --git a/addons/l10n_ch/report/report_webkit_html.py b/addons/l10n_ch/report/report_webkit_html.py index e6f7239c4e4..72158361da7 100644 --- a/addons/l10n_ch/report/report_webkit_html.py +++ b/addons/l10n_ch/report/report_webkit_html.py @@ -20,22 +20,31 @@ ############################################################################## import time -from report import report_sxw -from report_webkit import webkit_report -from report_webkit import report_helper -from osv import osv -from tools import mod10r import sys import os import re + +from mako.template import Template +from mako.lookup import TemplateLookup +from mako import exceptions + + +from report import report_sxw +from report_webkit import webkit_report +from report_webkit import report_helper + +from osv import osv +from osv.osv import except_osv + +from tools import mod10r +from tools.translate import _ +from tools.config import config + import wizard import addons import pooler -from tools.config import config -from mako.template import Template -from mako import exceptions -from tools.translate import _ -from osv.osv import except_osv + + class l10n_ch_report_webkit_html(report_sxw.rml_parse): @@ -143,53 +152,26 @@ class l10n_ch_report_webkit_html(report_sxw.rml_parse): 'digits!\nPlease check your company ' 'information for the invoice:\n%s') %(invoice_name))) return '' + +def mako_template(text): + """Build a Mako template. + + This template uses UTF-8 encoding + """ + tmp_lookup = TemplateLookup() #we need it in order to allow inclusion and inheritance + return Template(text, input_encoding='utf-8', output_encoding='utf-8', lookup=tmp_lookup) class BVRWebKitParser(webkit_report.WebKitParser): - def setLang(self, lang): - if not lang: - lang = 'en_US' - self.localcontext['lang'] = lang - - def formatLang(self, value, digits=None, date=False, date_time=False, grouping=True, monetary=False): - """format using the know cursor, language from localcontext""" - if digits is None: - digits = self.parser_instance.get_digits(value) - if isinstance(value, (str, unicode)) and not value: - return '' - pool_lang = self.pool.get('res.lang') - lang = self.localcontext['lang'] - - lang_ids = pool_lang.search(self.parser_instance.cr, self.parser_instance.uid, [('code','=',lang)])[0] - lang_obj = pool_lang.browse(self.parser_instance.cr, self.parser_instance.uid, lang_ids) - - if date or date_time: - if not str(value): - return '' - - date_format = lang_obj.date_format - parse_format = '%Y-%m-%d' - if date_time: - value=value.split('.')[0] - date_format = date_format + " " + lang_obj.time_format - parse_format = '%Y-%m-%d %H:%M:%S' - if not isinstance(value, time.struct_time): - return time.strftime(date_format, time.strptime(value, parse_format)) - - else: - date = datetime(*value.timetuple()[:6]) - return date.strftime(date_format) - - return lang_obj.format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary) - def create_single_pdf(self, cursor, uid, ids, data, report_xml, context=None): """generate the PDF""" - self.parser_instance = self.parser( - cursor, + context = context or {} + if report_xml.report_type != 'webkit': + return super(WebKitParser,self).create_single_pdf(cursor, uid, ids, data, report_xml, context=context) + self.parser_instance = self.parser(cursor, uid, self.name2, - context=context - ) + context=context) self.pool = pooler.get_pool(cursor.dbname) objs = self.getObjects(cursor, uid, ids, context) self.parser_instance.set_context(objs, data, ids, report_xml.report_type) @@ -201,7 +183,7 @@ class BVRWebKitParser(webkit_report.WebKitParser): if not template and report_xml.report_webkit_data : template = report_xml.report_webkit_data if not template : - raise except_osv(_('Webkit Report template not found !'), _('')) + raise except_osv(_('Error'),_('Webkit Report template not found !')) header = report_xml.webkit_header.html footer = report_xml.webkit_header.footer_html if not header and report_xml.header: @@ -210,43 +192,19 @@ class BVRWebKitParser(webkit_report.WebKitParser): _('Please set a header in company settings') ) if not report_xml.header : - #I know it could be cleaner ... - header = u""" - - - - - - - -""" - self.parser_instance.localcontext.update({'setLang':self.setLang}) - self.parser_instance.localcontext.update({'formatLang':self.formatLang}) + header = '' + default_head = addons.get_module_resource('report_webkit', 'default_header.html') + with open(default_head,'r') as f: + header = f.read() css = report_xml.webkit_header.css if not css : css = '' user = self.pool.get('res.users').browse(cursor, uid, uid) company = user.company_id - parse_template = template - #default_filters=['unicode', 'entity'] can be used to set global filter - body_mako_tpl = Template(parse_template ,input_encoding='utf-8', output_encoding='utf-8') + body_mako_tpl = mako_template(template) #BVR specific bvr_path = addons.get_module_resource(os.path.join('l10n_ch','report','bvr.mako')) - body_bvr_tpl = Template(file(bvr_path).read(), input_encoding='utf-8', output_encoding='utf-8') - + body_bvr_tpl = mako_template(file(bvr_path).read()) helper = report_helper.WebKitHelper(cursor, uid, report_xml.id, context) ##BVR Specific htmls = [] @@ -254,58 +212,48 @@ class BVRWebKitParser(webkit_report.WebKitParser): self.parser_instance.localcontext['objects'] = [obj] if not company.bvr_only: try: - html = body_mako_tpl.render( - helper=helper, + html = body_mako_tpl.render(helper=helper, css=css, _=self.translate_call, - **self.parser_instance.localcontext - ) + **self.parser_instance.localcontext) except Exception, e: raise Exception(exceptions.text_error_template().render()) htmls.append(html) if not company.invoice_only: try: - bvr = body_bvr_tpl.render( - helper=helper, - css=css, - _=self.translate_call, - **self.parser_instance.localcontext - ) + bvr = body_bvr_tpl.render(helper=helper, + css=css, + _=self.translate_call, + **self.parser_instance.localcontext) except Exception, e: raise Exception(exceptions.text_error_template().render()) htmls.append(bvr) head_mako_tpl = Template(header, input_encoding='utf-8', output_encoding='utf-8') try: - head = head_mako_tpl.render( - helper=helper, + head = head_mako_tpl.render(helper=helper, css=css, _debug=False, _=self.translate_call, - **self.parser_instance.localcontext - ) + **self.parser_instance.localcontext) except Exception, e: raise Exception(exceptions.text_error_template().render()) foot = False if footer and company.invoice_only : foot_mako_tpl = Template(footer, input_encoding='utf-8', output_encoding='utf-8') try: - foot = foot_mako_tpl.render( - helper=helper, + foot = foot_mako_tpl.render(helper=helper, css=css, _=self.translate_call, - **self.parser_instance.localcontext - ) + **self.parser_instance.localcontext) except Exception, e: raise Exception(exceptions.text_error_template().render()) if report_xml.webkit_debug : try: - deb = head_mako_tpl.render( - helper=helper, + deb = head_mako_tpl.render(helper=helper, css=css, _debug=html, _=self.translate_call, - **self.parser_instance.localcontext - ) + **self.parser_instance.localcontext) except Exception, e: raise Exception(exceptions.text_error_template().render()) return (deb, 'html') From 02b41a75ceb5df2ca4227de5839ebd46da0e5462 Mon Sep 17 00:00:00 2001 From: Yury Tello Date: Sun, 19 Feb 2012 14:10:02 -0500 Subject: [PATCH 0004/1075] [ADD] l10n_cl bzr revid: ytello@cubicerp.com-20120219191002-6yid2f812r4ypg05 --- addons/l10n_cl/__init__.py | 32 ++++ addons/l10n_cl/__openerp__.py | 51 ++++++ addons/l10n_cl/account_tax.xml | 34 ++++ addons/l10n_cl/account_tax_code.xml | 94 ++++++++++ addons/l10n_cl/i18n/es.po | 72 ++++++++ addons/l10n_cl/i18n/es_CL.po | 53 ++++++ addons/l10n_cl/i18n/l10n_cl.pot | 35 ++++ addons/l10n_cl/l10n_cl_chart.xml | 256 ++++++++++++++++++++++++++++ addons/l10n_cl/l10n_cl_wizard.xml | 15 ++ 9 files changed, 642 insertions(+) create mode 100644 addons/l10n_cl/__init__.py create mode 100644 addons/l10n_cl/__openerp__.py create mode 100644 addons/l10n_cl/account_tax.xml create mode 100644 addons/l10n_cl/account_tax_code.xml create mode 100644 addons/l10n_cl/i18n/es.po create mode 100644 addons/l10n_cl/i18n/es_CL.po create mode 100644 addons/l10n_cl/i18n/l10n_cl.pot create mode 100644 addons/l10n_cl/l10n_cl_chart.xml create mode 100644 addons/l10n_cl/l10n_cl_wizard.xml diff --git a/addons/l10n_cl/__init__.py b/addons/l10n_cl/__init__.py new file mode 100644 index 00000000000..92da5dbf966 --- /dev/null +++ b/addons/l10n_cl/__init__.py @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (c) 2011 Cubic ERP - Teradata SAC. (http://cubicerp.com). +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_cl/__openerp__.py b/addons/l10n_cl/__openerp__.py new file mode 100644 index 00000000000..249bdb3ae48 --- /dev/null +++ b/addons/l10n_cl/__openerp__.py @@ -0,0 +1,51 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2011 Cubic ERP - Teradata SAC (). +# +# 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 . +# +############################################################################## +{ + "name": "Argentina Localization Chart Account", + "version": "1.0", + "description": """ +Chilean accounting chart and tax localization. + +Plan contable chileno e impuestos de acuerdo a disposiciones vigentes + + """, + "author": "Cubic ERP", + "website": "http://cubicERP.com", + "category": "Localization/Account Charts", + "depends": [ + "account_chart", + ], + "data":[ + "account_tax_code.xml", + "l10n_cl_chart.xml", + "account_tax.xml", + "l10n_cl_wizard.xml", + ], + "demo_xml": [ + ], + "update_xml": [ + ], + "active": False, + "installable": True, + "certificate" : "", + 'images': ['images/config_chart_l10n_cl.jpeg','images/l10n_cl_chart.jpeg'], +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_cl/account_tax.xml b/addons/l10n_cl/account_tax.xml new file mode 100644 index 00000000000..1db0d2637f4 --- /dev/null +++ b/addons/l10n_cl/account_tax.xml @@ -0,0 +1,34 @@ + + + + + + + IVA 19% Venta + 0.190000 + percent + sale + + + + + + + + + + + IVA 19% Compra + 0.190000 + percent + purchase + + + + + + + + + + diff --git a/addons/l10n_cl/account_tax_code.xml b/addons/l10n_cl/account_tax_code.xml new file mode 100644 index 00000000000..95c91b60d78 --- /dev/null +++ b/addons/l10n_cl/account_tax_code.xml @@ -0,0 +1,94 @@ + + + + + + Chile Impuestos + + + Base Imponible + + + + Base Imponible - Ventas + + + + Ventas Gravadas con IVA + + + + Ventas NO Gravadas (Exoneradas) + + + + Ventas Gravadas Fuera de Ámbito + + + + Base Imponible - Compras + + + + Compras Gravadas con IVA + + + + Compras NO Gravadas (Exoneradas) + + + + Compras Gravadas Fuera de Ámbito + + + + + Impuesto General a las Ventas (IVA) Total a Pagar + + + + Impuesto Pagado + + + + Impuesto Pagado IVA + + -1 + + + Impuesto Pagado de Exonerados al IVA + + -1 + + + Impuesto Pagado Fuera de Ámbito + + -1 + + + Impuesto Cobrado + + + + Impuesto Cobrado IVA + + + + Impuesto Cobrado de Exonerados al IVA + + + + Impuesto Cobrado Fuera de Ámbito + + + + + Impuestos Directos a Pagar + + + + Impuesto a la Renta Primera Categoría a Pagar + + + + diff --git a/addons/l10n_cl/i18n/es.po b/addons/l10n_cl/i18n/es.po new file mode 100644 index 00000000000..f8b17197008 --- /dev/null +++ b/addons/l10n_cl/i18n/es.po @@ -0,0 +1,72 @@ +# Spanish 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: 2011-01-11 11:15+0000\n" +"PO-Revision-Date: 2011-01-10 13:46+0000\n" +"Last-Translator: Yury Tello \n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-01-15 05:56+0000\n" +"X-Generator: Launchpad (build 12177)\n" + +#. module: l10n_cl +#: model:ir.module.module,description:l10n_cl.module_meta_information +msgid "" +"\n" +" Chilean Accounting : chart of Account\n" +" " +msgstr "" +"\n" +" Contabilidad Peruana : Plan de cuentas\n" +" " + +#. module: l10n_cl +#: model:ir.module.module,shortdesc:l10n_cl.module_meta_information +msgid "Chilean Chart of Account" +msgstr "Plan de cuentas de Chile" + +#. module: l10n_cl +#: model:ir.actions.todo,note:l10n_cl.config_call_account_template_in_minimal +msgid "" +"Generate Chart of Accounts from a Chart Template. You will be asked to pass " +"the name of the company, the chart template to follow, the no. of digits to " +"generate the code for your accounts and Bank account, currency to create " +"Journals. Thus,the pure copy of chart Template is generated.\n" +"\tThis is the same wizard that runs from Financial " +"Management/Configuration/Financial Accounting/Financial Accounts/Generate " +"Chart of Accounts from a Chart Template." +msgstr "" +"Generar el plan contable a partir de una plantilla de plan contable. Se le " +"pedirá el nombre de la compañia, la plantilla de plan contable a utilizar, " +"el número de dígitos para generar el código de las cuentas y de la cuenta " +"bancaria, la moneda para crear los diarios. Así pues, se genere una copia " +"exacta de la plantilla de plan contable.\n" +"\tEste es el mismo asistente que se ejecuta desde Contabilidad y finanzas / " +"Configuración / Contabilidad financiera / Cuentas financieras / Generar el " +"plan contable a partir de una plantilla de plan contable." + +#~ msgid "Liability" +#~ msgstr "Pasivo" + +#~ msgid "Asset" +#~ msgstr "Activo" + +#~ msgid "Closed" +#~ msgstr "Cerrado" + +#~ msgid "Income" +#~ msgstr "Ingreso" + +#~ msgid "Expense" +#~ msgstr "Gasto" + +#~ msgid "View" +#~ msgstr "Vista" diff --git a/addons/l10n_cl/i18n/es_CL.po b/addons/l10n_cl/i18n/es_CL.po new file mode 100644 index 00000000000..cd0a9f9c43e --- /dev/null +++ b/addons/l10n_cl/i18n/es_CL.po @@ -0,0 +1,53 @@ +# Spanish (Paraguay) translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:15+0000\n" +"PO-Revision-Date: 2011-03-21 16:23+0000\n" +"Last-Translator: FULL NAME \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-03-22 04:36+0000\n" +"X-Generator: Launchpad (build 12559)\n" + +#. module: l10n_cl +#: model:ir.module.module,description:l10n_cl.module_meta_information +msgid "" +"\n" +" Chilean Accounting : chart of Account\n" +" " +msgstr "" +"\n" +" Contabilidad Chile : Plan de cuentas\n" +" " + +#. module: l10n_cl +#: model:ir.module.module,shortdesc:l10n_cl.module_meta_information +msgid "Chilean Chart of Account" +msgstr "Plan de cuentas de la Chile" + +#. module: l10n_cl +#: model:ir.actions.todo,note:l10n_cl.config_call_account_template_in_minimal +msgid "" +"Generate Chart of Accounts from a Chart Template. You will be asked to pass " +"the name of the company, the chart template to follow, the no. of digits to " +"generate the code for your accounts and Bank account, currency to create " +"Journals. Thus,the pure copy of chart Template is generated.\n" +"\tThis is the same wizard that runs from Financial " +"Management/Configuration/Financial Accounting/Financial Accounts/Generate " +"Chart of Accounts from a Chart Template." +msgstr "" +"Generar el plan contable a partir de una plantilla de plan contable. Se le " +"pedirá el nombre de la compañía, la plantilla de plan contable a utilizar, " +"el número de dígitos para generar el código de las cuentas y de la cuenta " +"bancaria, la moneda para crear los diarios. Así pues, se genere una copia " +"exacta de la plantilla de plan contable.\n" +"\tEste es el mismo asistente que se ejecuta desde Contabilidad y finanzas / " +"Configuración / Contabilidad financiera / Cuentas financieras / Generar el " +"plan contable a partir de una plantilla de plan contable." diff --git a/addons/l10n_cl/i18n/l10n_cl.pot b/addons/l10n_cl/i18n/l10n_cl.pot new file mode 100644 index 00000000000..9b3704b75e1 --- /dev/null +++ b/addons/l10n_cl/i18n/l10n_cl.pot @@ -0,0 +1,35 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * l10n_cl +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 6.1.0-rc1\n" +"Report-Msgid-Bugs-To: soporte@cubicerp.com\n" +"POT-Creation-Date: 2011-01-11 11:15:31+0000\n" +"PO-Revision-Date: 2011-01-11 11:15:31+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_cl +#: model:ir.module.module,description:l10n_cl.module_meta_information +msgid "\n" +" Chilean Accounting : chart of Account\n" +" " +msgstr "" + +#. module: l10n_cl +#: model:ir.module.module,shortdesc:l10n_cl.module_meta_information +msgid "Chilean Chart of Account" +msgstr "" + +#. module: l10n_cl +#: model:ir.actions.todo,note:l10n_cl.config_call_account_template_in_minimal +msgid "Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated.\n" +" This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template." +msgstr "" + diff --git a/addons/l10n_cl/l10n_cl_chart.xml b/addons/l10n_cl/l10n_cl_chart.xml new file mode 100644 index 00000000000..5b146eb067d --- /dev/null +++ b/addons/l10n_cl/l10n_cl_chart.xml @@ -0,0 +1,256 @@ + + + + + + + noneviewVistanone + + balanceBG_ACC_10Efectivo y Equivalentes al Efectivoasset + detailBG_ACC_20Otros Activos Financieros Corrientesasset + unreconciledBG_ACC_30Deudores Comercialesasset + unreconciledBG_ACC_50Otras Cuentas por Cobrarasset + balanceBG_ACC_60Inventariosasset + + detailBG_ACN_10Derechos por Cobrar No Corrienteasset + detailBG_ACN_40Otros Activos No Financierosasset + balanceBG_ACN_50Propiedades, Planta y Equipoasset + + unreconciledBG_PAC_10Otros Pasivos Financierosliability + unreconciledBG_PAC_20Cuentas por Pagar Comercialesliability + unreconciledBG_PAC_35Otras Cuentas por Pagarliability + unreconciledBG_PAC_40Otras Provisiones Corrientesliability + unreconciledBG_PAC_45Pasivos por Impuestos Corrientesliability + + unreconciledBG_PAN_10Otros Pasivos Financieros No Corrientesliability + unreconciledBG_PAN_20Otros Cuentas por Pagar No Corrientesliability + unreconciledBG_PAN_40Otras Provisiones No Corrientesliability + + balanceBG_PTN_10Patrimonio Netoliability + + noneEGP_FU_010Ingresos por Actividades Ordinariasincome + noneEGP_FU_030Costo de Ventasexpense + noneEGP_FU_040Gastos de Administraciónexpense + noneEGP_FU_050Costos por Distribuciónexpense + unreconciledEGP_FU_060Ingresos Financierosincome + noneEGP_FU_070Costos Financierosexpense + noneEGP_FU_080Otros Ingresosincome + noneEGP_FU_090Otros Gastosexpense + noneEGP_FU_120Gasto Impuesto a las Rentaexpense + noneEGP_FU_160Ganancia (Pérdida)income + + noneEGP_NA_010Compras de Activo Fijonone + + noneORDCuentas de Ordennone + + noneNCLASIFICADOCuentas No Clasificadasnone + + + + + Argentina + pcge + + view + + + inventario del Balance General + .1.BG + + + view + + + ACTIVOS1view + Activo Circulante11view + Activo Circulante - Caja111view + Activo Circulante - Caja / efectivo CLP111.001liquidity + Activo Circulante - Moneda Extranjera112view + Activo Circulante - Caja / efectivo USD112.001liquidity + Activo Circulante - Fondos fijos113view + Activo Circulante - Fondos fijos / caja chica 01 CLP113.001liquidity + Activo Circulante - Bancos114view + Activo Circulante.../ BCO. CTA CTE CLP114.001liquidity + Activo Circulante - Valores a Depositar 115other + Activo Circulante - Recaudaciones a Depositar 116other + Documentos por Cobrar12view + Documentos por Cobrar / Deudores por Ventas121receivable1 + Documentos por Cobrar / Deudores Morosos122receivable1 + Documentos por Cobrar / Deudores en Gestión Judicial123receivable + Documentos por Cobrar / Deudores Varios124receivable + Documentos por Cobrar / (-) Previsión para Incobrables125receivable1 + Cuentas por Cobrar13view + Cuentas por Cobrar / Préstamos otorgados131receivable + Cuentas por Cobrar / Anticipos a Proveedores132receivable + Cuentas por Cobrar / Anticipo de Impuestos133receivable + Cuentas por Cobrar / Anticipo al Personal134receivable + Cuentas por Cobrar / Alquileres Pagados por Adelantado135receivable + Cuentas por Cobrar / Intereses Pagados por Adelantado136receivable + Cuentas por Cobrar / Accionistas137receivable + Cuentas por Cobrar / (-) Previsión para Descuentos138receivable + Cuentas por Cobrar / (-) Intereses (+) a Devengar139receivable + Inversiones Financieras14view + Inversiones / Acciones Transitorias141other + Inversiones / Acciones Permanentes142other + Inversiones / Títulos Públicos143other + Inversiones / (-) Previsión para Devalorización de Acciones144other + Existencias15view + Existencias - Mercaderías151view + Existencias - Mercaderías / Categoria de productos 01151.01other + Existencias - Mercaderías en Tránsito152other + Materias primas153other + Productos en Curso de Elaboración154other + Productos Elaborados155other + Materiales Varios 156other + (-) Previsión para Desvalorización de Existencias157other + Activo Fijo16view + Activo Fijo / Inmuebles161other + Activo Fijo / Maquinaria162other + Activo Fijo / Equipos163other + Activo Fijo / Material Rodante Motorizado164other + Activo Fijo / (-) Depreciación Acumulada165other + Activo Intangible17view + Activo Intangible / Derecho de Llaves171other + Activo Intangible / Concesiones y Franquicias172other + Activo Intangible / Marcas y Patentes de Invención173other + Activo Intangible / (-) Amortización Acumulada174other + PASIVOS2view + Cuentas por Pagar21view + Cuentas por Pagar / Proveedores211payable1 + Cuentas por Pagar / Anticipos de Clientes212payable1 + Cuentas por Pagar / (-) Intereses a Devengar por Compras al Crédito213payable1 + Pasivo Circulante22view + Pasivo Circulante / Adelantos en Cuenta Corriente221payable + Pasivo Circulante / Prestamos222payable + Pasivo Circulante / Obligaciones a Pagar223payable + Pasivo Circulante / Intereses a Pagar224payable + Pasivo Circulante / Debentures Emitidos225payable + Impuestos por Pagar23view + Impuestos por Pagar / IVA a Pagar231other + Impuestos por Pagar / Impuesto a la Renta a Pagar232other + Remuneraciones por Pagar24view + Remuneraciones por Pagar / Sueldos a Pagar241payable + Remuneraciones por Pagar / Cargas Sociales a Pagar242payable + Remuneraciones por Pagar / Provisión para Sueldo Anual Complementario243payable + Remuneraciones por Pagar / Retenciones a Depositar244payable + Otras Cuentas por Pagar25view + Otras Cuentas por Pagar / Acreedores Varios251payable + Otras Cuentas por Pagar / Dividendos a Pagar252payable + Otras Cuentas por Pagar / Cobros por Adelantado253payable + Otras Cuentas por Pagar / Honorarios Directores y Síndicos a Pagar254payable + Provisiones26view + Provisiones / Previsión Indemnización por Despidos261payable + Provisiones / Previsión para juicios Pendientes262payable + Provisiones / Previsión para Garantías por Service263payable + PATRIMONIO3view + Capital31view + Capital / Capital Propio311other + Capital / Acciones en Circulación312other + Capital / Dividendos a Distribuir en Acciones313other + Capital / (-) Descuento de Emisión de Acciones314other + Aportes No Capitalizados32view + Aportes No Capitalizados / Primas de Emsión321other + Aportes No Capitalizados / Aportes Irrevocables Futura Suscripción de Acciones322other + Ajustes al Patrimonio33view + Ajustes al Patrimonio / Revaluo Técnico de Activo Fijo331other + Futuras Eventualidades34view + Reserva Legal341other + Reserva Estatutaria342other + Reserva Facultativa343other + Reserva para Renovación de Activo Fijo344other + Resultados No Asignados35view + Resultados Acumulados351other + Resultados Acumulados del Ejercicio Anterior352other + Utilidades y Pérdidas del Ejercicio353other + Resultado del Ejercicio354other + + + Cuentas de Resultado + .2.GP + + + view + + + RESULTADO GANANCIA4view + Ingresos de Explotación41view + Ventas411view + Ventas - Categoria de productos 01411.01other + Intereses gananados, obtenidos, percibidos412other + Alquileres gananados, obtenidos, percibidos413other + Comisiones gananados, obtenidos, percibidos414other + Descuentos gananados, obtenidos, percibidos415other + Interese sobre Inversiones416other + Honorarios gananados, obtenidos, percibidos417other + Ganancia Venta de Acciones418other + Ingresos Fuera de Explotación42view + Recupero de Rezagos421other + Recupero de Deudores Incobrables422other + Ganancia Venta de Activo Fijo423other + Donaciones obtenidas, ganandas, percibidas424other + Ganancia Venta Inversiones Permanentes425other + RESULTADO PÉRDIDA5view + Egresos de Explotación51view + Costo de Mercaderías Vendidas511view + Costo de Mercaderías Vendidas - Categoria de productos 01511.01other + Gastos en Depreciación de Activo Fijo512other + Gastos en Amortización513other + Gastos en Sueldos y Jornales514other + Gastos en Cargas Sociales515other + Gastos en Impuestos516other + Gastos Bancarios517other + Gastos en Servicios Públicos518other + Gastos de Publicidad y Propaganda519other + Egresos Fuera de Explotación52view + Gastos en Siniestros521other + Donaciones Cedidas, Otorgadas522other + Pérdida Venta Activo Fijo523other + + + Cuentas de Movimiento + .3.CC + + + view + + + Compras61view + Compras - Categoria de productos 0161.01other + Costos de Producción62other + Gastos de Administración63other + Gastos de Comercialización64other + + + Cuentas de Orden + .4.CO + + + view + + + CUENTAS DE ORDEN DEUDORAS71view + Mercaderias Recibidas en Consignación711other + Depósito de Valores Recibos en Garantía712other + Garantias Otorgadas713other + Documentos Descontados714other + Documentos Endosados715other + CUENTAS DE ORDEN ACREEDORAS72view + Comitente por Mercaderias Recibidas en Consignación721other + Acreedor por Garantías Otorgadas722other + Acreedor por Documentos Descontados723other + + + Chile - Plan de Cuentas + + + + + + + + + + + + + diff --git a/addons/l10n_cl/l10n_cl_wizard.xml b/addons/l10n_cl/l10n_cl_wizard.xml new file mode 100644 index 00000000000..191230c5010 --- /dev/null +++ b/addons/l10n_cl/l10n_cl_wizard.xml @@ -0,0 +1,15 @@ + + + + + + Generate Chart of Accounts from a Chart Template + Generate Chart of Accounts from a Chart Template. You will be asked to pass the name of the company, the chart template to follow, the no. of digits to generate the code for your accounts and Bank account, currency to create Journals. Thus,the pure copy of chart Template is generated. + This is the same wizard that runs from Financial Management/Configuration/Financial Accounting/Financial Accounts/Generate Chart of Accounts from a Chart Template. + + + automatic + + + + From 4c54457489044ad7c7e4f8c54241e32dba6d4a10 Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Mon, 20 Feb 2012 15:00:37 +0530 Subject: [PATCH 0005/1075] [FIX]purchase: added domain of supplier in the partner_id field lp bug: https://launchpad.net/bugs/936385 fixed bzr revid: mma@tinyerp.com-20120220093037-uh5ubja5jtnqy8om --- addons/purchase/purchase_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index 1c936055aff..e358bfc2ced 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -172,7 +172,7 @@ - + From 44fec74adfbf53e4e9a02461b45b8e1b0525441d Mon Sep 17 00:00:00 2001 From: Yury Tello Date: Tue, 21 Feb 2012 15:53:28 -0500 Subject: [PATCH 0006/1075] [MOD] Ajust title bzr revid: ytello@cubicerp.com-20120221205328-s5y8iz1hjnlkj4hp --- addons/l10n_cl/__openerp__.py | 2 +- addons/l10n_cl/l10n_cl_chart.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/l10n_cl/__openerp__.py b/addons/l10n_cl/__openerp__.py index 249bdb3ae48..8c1e1e45b50 100644 --- a/addons/l10n_cl/__openerp__.py +++ b/addons/l10n_cl/__openerp__.py @@ -19,7 +19,7 @@ # ############################################################################## { - "name": "Argentina Localization Chart Account", + "name": "Chile Localization Chart Account", "version": "1.0", "description": """ Chilean accounting chart and tax localization. diff --git a/addons/l10n_cl/l10n_cl_chart.xml b/addons/l10n_cl/l10n_cl_chart.xml index 5b146eb067d..8bc4272c2eb 100644 --- a/addons/l10n_cl/l10n_cl_chart.xml +++ b/addons/l10n_cl/l10n_cl_chart.xml @@ -48,7 +48,7 @@ - Argentina + Chile pcge view From 1bf3b3b515737f6fd929250cf7f7c0d1e03a1ddf Mon Sep 17 00:00:00 2001 From: Date: Thu, 1 Mar 2012 13:21:24 +0100 Subject: [PATCH 0007/1075] [FIX] use a local variable row instead of res bzr revid: guewen.baconnier@camptocamp.com-20120301122124-0izdqntr76ruqtde --- addons/account/account.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index c1a30967aea..49ecf61ee51 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -315,8 +315,8 @@ class account_account(osv.osv): self.logger.notifyChannel('addons.'+self._name, netsvc.LOG_DEBUG, 'Status: %s'%cr.statusmessage) - for res in cr.dictfetchall(): - accounts[res['id']] = res + for row in cr.dictfetchall(): + accounts[row['id']] = row # consolidate accounts with direct children children_and_consolidated.reverse() From 7e43c5e13529c34224b510b4114e3943f89da902 Mon Sep 17 00:00:00 2001 From: Tejas Tank Date: Wed, 18 Apr 2012 11:59:43 +0530 Subject: [PATCH 0008/1075] q bzr revid: tta@openerp.com-20120418062943-rtvpby15skwqmywx --- addons/base_contact/i18n/cs.po | 501 -------------------------- addons/base_contact/i18n/ja.po | 264 -------------- addons/fetchmail_crm_claim/i18n/ja.po | 34 ++ 3 files changed, 34 insertions(+), 765 deletions(-) delete mode 100644 addons/base_contact/i18n/cs.po delete mode 100644 addons/base_contact/i18n/ja.po create mode 100644 addons/fetchmail_crm_claim/i18n/ja.po diff --git a/addons/base_contact/i18n/cs.po b/addons/base_contact/i18n/cs.po deleted file mode 100644 index e48443f7681..00000000000 --- a/addons/base_contact/i18n/cs.po +++ /dev/null @@ -1,501 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * base_contact -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: support@openerp.com\n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-04-15 15:01+0000\n" -"Last-Translator: Jiří Hajda \n" -"Language-Team: Czech \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-04-16 04:40+0000\n" -"X-Generator: Launchpad (build 15099)\n" -"X-Poedit-Language: Czech\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "Město" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "Křestní jméno/Příjmení" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "Kontakty" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "Povolání" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "Křestní jméno" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "Umístění" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "Partner na adresu" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" -"Pokud je aktivní pole nastaveno na Nepravda, umožní vám to " -"skrýt kontakt partnera bez jeho odstranění." - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "Webová stránka" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "PSČ" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "Fed. stát" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "Společnost" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "Název" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "Hlavní partner" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "Základní kontakt" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "E-mail" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "Aktivní" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "Národnost" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "Poštovní adresa" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "Hlavní funkce" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "Určuje partnery a jejich adresy." - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "Jméno" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "Jazyk" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "Mobil" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "Země" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "Poznámky" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "Lidé, s kterými pracujete." - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "Speciální informace" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "Funkce a adresy" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "Kontakt" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "res.partner.location" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "Společnosti, se kterými pracujete." - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "Hlavní zaměstnavatel" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "Kontakt partnera" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "Adresy" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "Pracovní a soukromé adresy." - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "Příjmení" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "Fotka" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "Umístění" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "Obecný" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "Ulice" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "Partner" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "Partneři" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "Adresy partnerů" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "Ulice 2" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "Osobní informace" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "Datum narození" - -#~ msgid "Categories" -#~ msgstr "Kategorie" - -#~ msgid "Current" -#~ msgstr "Stávající" - -#~ msgid "Fax" -#~ msgstr "Fax" - -#~ msgid "Address" -#~ msgstr "Adresa" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "Invalidní XML pro zobrazení architektury!" - -#~ msgid "" -#~ "The Object name must start with x_ and not contain any special character !" -#~ msgstr "" -#~ "Jméno objektu musí začínat znakem x_ a nesmí obsahovat žádný speciální znak!" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Špatný název modelu v definici akce" - -#~ msgid "Contact Functions" -#~ msgstr "Kontaktní funkce" - -#~ msgid "Phone" -#~ msgstr "Telefon" - -#~ msgid "Function" -#~ msgstr "Funkce" - -#~ msgid "# of Contacts" -#~ msgstr "# z kontaktů" - -#~ msgid "title" -#~ msgstr "nadpis" - -#~ msgid "Start date of job(Joining Date)" -#~ msgstr "Datum zahájení práce (datum připojení)" - -#~ msgid "Select the Option for Addresses Migration" -#~ msgstr "Vyberte volbu pro přesun adres" - -#~ msgid "Function of this contact with this partner" -#~ msgstr "Funkce tohoto kontaktu s tímto partnerem" - -#~ msgid "Status of Address" -#~ msgstr "Stav adresy" - -#~ msgid "" -#~ "You may enter Address first,Partner will be linked " -#~ "automatically if any." -#~ msgstr "" -#~ "Můžete zadat nejdříve adresu. Pokud je nějaký partner, " -#~ "bude napojen automaticky." - -#~ msgid "Job FAX no." -#~ msgstr "Číslo FAXu do práce" - -#~ msgid "Define functions and address." -#~ msgstr "Určit funkce a adresu." - -#~ msgid "Last date of job" -#~ msgstr "Poslední datum práce" - -#~ msgid "Migrate" -#~ msgstr "Přesunout" - -#~ msgid "Jobs at a same partner address." -#~ msgstr "Pracovní pozice u stejné adresy partnera." - -#~ msgid "State" -#~ msgstr "Stav" - -#~ msgid "" -#~ "\n" -#~ " This module allows you to manage your contacts entirely.\n" -#~ "\n" -#~ " It lets you define\n" -#~ " *contacts unrelated to a partner,\n" -#~ " *contacts working at several addresses (possibly for different " -#~ "partners),\n" -#~ " *contacts with possibly different functions for each of its job's " -#~ "addresses\n" -#~ "\n" -#~ " It also adds new menu items located in\n" -#~ " Partners \\ Contacts\n" -#~ " Partners \\ Functions\n" -#~ "\n" -#~ " Pay attention that this module converts the existing addresses into " -#~ "\"addresses + contacts\". It means that some fields of the addresses will be " -#~ "missing (like the contact name), since these are supposed to be defined in " -#~ "an other object.\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Tento modul umožňuje úplně spravovat vaše kontakty.\n" -#~ "\n" -#~ " Nechá vás určit\n" -#~ " *kontakty nevztažené k partnerovi,\n" -#~ " *kontakty pracující na několika adresách (případně i pro různé " -#~ "partnery),\n" -#~ " *kontakty s možnými různými funkcemi pro každou jeho pracovní " -#~ "adresu\n" -#~ "\n" -#~ " Také přidává nové položky nabídky umístěné v\n" -#~ " Partneři \\ Kontakty\n" -#~ " Partneři \\ Funkce\n" -#~ "\n" -#~ " Berte na vědomí, že tento modul převádí existující adresy na \"adresy + " -#~ "kontakty\". To znamená, že některé pole adres budou chybět (jako jméno " -#~ "kontaktu), protože ty jsou definovány v jiném objektu.\n" -#~ " " - -#~ msgid "Date Stop" -#~ msgstr "Datum zastavení" - -#~ msgid "Contact's Jobs" -#~ msgstr "Pozice kontaktu" - -#~ msgid "" -#~ "Order of importance of this job title in the list of job " -#~ "title of the linked partner" -#~ msgstr "" -#~ "Pořadí důležitosti této pracovní pozice v seznamu titulů " -#~ "pozic napojeného partnera" - -#~ msgid "Extension" -#~ msgstr "Rozšíření" - -#~ msgid "Internal/External extension phone number" -#~ msgstr "Vnitřní/vnější telefoní číslo klapky" - -#~ msgid "Job Phone no." -#~ msgstr "Telefoní číslo do práce." - -#~ msgid "Job E-Mail" -#~ msgstr "Pracovní E-Mail" - -#~ msgid "Partner Seq." -#~ msgstr "Poř. parnera" - -#~ msgid "Function to address" -#~ msgstr "Funkce na adresu" - -#~ msgid "Configuration Progress" -#~ msgstr "Průběh nastavení" - -#~ msgid "Communication" -#~ msgstr "Komunikace" - -#~ msgid "Image" -#~ msgstr "Obrázek" - -#~ msgid "Past" -#~ msgstr "Minulý" - -#~ msgid "Address's Migration to Contacts" -#~ msgstr "Stěhování adresy na kontakty" - -#~ msgid "Contact Seq." -#~ msgstr "Poř. kontaktu" - -#~ msgid "Search Contact" -#~ msgstr "Hledat kontakt" - -#~ msgid "" -#~ "Due to changes in Address and Partner's relation, some of the details from " -#~ "address are needed to be migrated into contact information." -#~ msgstr "" -#~ "Kvůli změnám v adrese a vztahu partnera, některé podrobnosti adresy jsou " -#~ "potřebné, aby byly přesunuty do informací účtu." - -#~ msgid "Address which is linked to the Partner" -#~ msgstr "Adresa, která je napojena na partnera" - -#~ msgid "Partner Function" -#~ msgstr "Funkce partnera" - -#~ msgid "Additional phone field" -#~ msgstr "Doplňující pole telefonu" - -#~ msgid "Otherwise these details will not be visible from address/contact." -#~ msgstr "Jinak tyto podrobnosti nebudou viditelné z adresy/kontaktu." - -#~ msgid "Configure" -#~ msgstr "Nastavit" - -#~ msgid "base.contact.installer" -#~ msgstr "base.contact.installer" - -#~ msgid "Do you want to migrate your Address data in Contact Data?" -#~ msgstr "Chcete stěhovat vaše data adresy v datech kontaktu?" - -#~ msgid "Seq." -#~ msgstr "Poř." - -#~ msgid "If you select this, all addresses will be migrated." -#~ msgstr "Pokud toto vyberete, všechny adresy budou přesunuty." - -#~ msgid "Contact Partner Function" -#~ msgstr "Kontakt funkce partnera" - -#~ msgid "Other" -#~ msgstr "Jiné" - -#~ msgid "Main Job" -#~ msgstr "Hlavní práce" - -#~ msgid "Defines contacts and functions." -#~ msgstr "Určuje kontakty a funkce." - -#~ msgid "Contact to function" -#~ msgstr "Kontakt na funkci" - -#~ msgid "Open Jobs" -#~ msgstr "Otevřené pozice" - -#~ msgid "You can migrate Partner's current addresses to the contact." -#~ msgstr "Můžete stěhovat partnerovu aktuální adresu do kontaktu." - -#~ msgid "Address Migration" -#~ msgstr "Stěhování adresy" - -#~ msgid "Date Start" -#~ msgstr "Počáteční datum" - -#~ msgid "" -#~ "Order of importance of this address in the list of " -#~ "addresses of the linked contact" -#~ msgstr "" -#~ "Pořadí podle důležitosti této adresy v seznamu adres napojeného " -#~ "kontaktu" diff --git a/addons/base_contact/i18n/ja.po b/addons/base_contact/i18n/ja.po deleted file mode 100644 index 89af47fb6ac..00000000000 --- a/addons/base_contact/i18n/ja.po +++ /dev/null @@ -1,264 +0,0 @@ -# Japanese translation for openobject-addons -# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 -# This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR , 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: openobject-addons\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2012-02-08 00:36+0000\n" -"PO-Revision-Date: 2012-04-14 00:01+0000\n" -"Last-Translator: Tomomi Mengelberg \n" -"Language-Team: Japanese \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-04-15 04:42+0000\n" -"X-Generator: Launchpad (build 15070)\n" - -#. module: base_contact -#: field:res.partner.location,city:0 -msgid "City" -msgstr "市区町村" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "First/Lastname" -msgstr "名/姓" - -#. module: base_contact -#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_partner_contact_form -#: model:ir.ui.menu,name:base_contact.menu_purchases_partner_contact_form -#: model:process.node,name:base_contact.process_node_contacts0 -#: field:res.partner.location,job_ids:0 -msgid "Contacts" -msgstr "連絡先" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Professional Info" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,first_name:0 -msgid "First Name" -msgstr "姓" - -#. module: base_contact -#: field:res.partner.address,location_id:0 -msgid "Location" -msgstr "場所" - -#. module: base_contact -#: model:process.transition,name:base_contact.process_transition_partnertoaddress0 -msgid "Partner to address" -msgstr "" - -#. module: base_contact -#: help:res.partner.contact,active:0 -msgid "" -"If the active field is set to False, it will allow you to " -"hide the partner contact without removing it." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,website:0 -msgid "Website" -msgstr "ウェブサイト" - -#. module: base_contact -#: field:res.partner.location,zip:0 -msgid "Zip" -msgstr "郵便番号" - -#. module: base_contact -#: field:res.partner.location,state_id:0 -msgid "Fed. State" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,company_id:0 -msgid "Company" -msgstr "会社" - -#. module: base_contact -#: field:res.partner.contact,title:0 -msgid "Title" -msgstr "役職" - -#. module: base_contact -#: field:res.partner.location,partner_id:0 -msgid "Main Partner" -msgstr "主なパートナ" - -#. module: base_contact -#: model:process.process,name:base_contact.process_process_basecontactprocess0 -msgid "Base Contact" -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,email:0 -msgid "E-Mail" -msgstr "メール" - -#. module: base_contact -#: field:res.partner.contact,active:0 -msgid "Active" -msgstr "有効" - -#. module: base_contact -#: field:res.partner.contact,country_id:0 -msgid "Nationality" -msgstr "国籍" - -#. module: base_contact -#: view:res.partner:0 -#: view:res.partner.address:0 -msgid "Postal Address" -msgstr "住所" - -#. module: base_contact -#: field:res.partner.contact,function:0 -msgid "Main Function" -msgstr "主な役割" - -#. module: base_contact -#: model:process.transition,note:base_contact.process_transition_partnertoaddress0 -msgid "Define partners and their addresses." -msgstr "" - -#. module: base_contact -#: field:res.partner.contact,name:0 -msgid "Name" -msgstr "名前" - -#. module: base_contact -#: field:res.partner.contact,lang_id:0 -msgid "Language" -msgstr "言語" - -#. module: base_contact -#: field:res.partner.contact,mobile:0 -msgid "Mobile" -msgstr "携帯電話" - -#. module: base_contact -#: field:res.partner.location,country_id:0 -msgid "Country" -msgstr "国名" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,comment:0 -msgid "Notes" -msgstr "備考" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_contacts0 -msgid "People you work with." -msgstr "同僚" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Extra Information" -msgstr "その他の情報" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,job_ids:0 -msgid "Functions and Addresses" -msgstr "" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_contact -#: field:res.partner.address,contact_id:0 -msgid "Contact" -msgstr "連絡先" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_location -msgid "res.partner.location" -msgstr "" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_partners0 -msgid "Companies you work with." -msgstr "同僚" - -#. module: base_contact -#: field:res.partner.contact,partner_id:0 -msgid "Main Employer" -msgstr "" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner Contact" -msgstr "パートナー連絡先" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_addresses0 -msgid "Addresses" -msgstr "住所" - -#. module: base_contact -#: model:process.node,note:base_contact.process_node_addresses0 -msgid "Working and private addresses." -msgstr "勤め先住所と自宅住所" - -#. module: base_contact -#: field:res.partner.contact,last_name:0 -msgid "Last Name" -msgstr "姓" - -#. module: base_contact -#: view:res.partner.contact:0 -#: field:res.partner.contact,photo:0 -msgid "Photo" -msgstr "写真" - -#. module: base_contact -#: view:res.partner.location:0 -msgid "Locations" -msgstr "場所" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "General" -msgstr "" - -#. module: base_contact -#: field:res.partner.location,street:0 -msgid "Street" -msgstr "番地" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Partner" -msgstr "パートナ" - -#. module: base_contact -#: model:process.node,name:base_contact.process_node_partners0 -msgid "Partners" -msgstr "取引先" - -#. module: base_contact -#: model:ir.model,name:base_contact.model_res_partner_address -msgid "Partner Addresses" -msgstr "パートナの住所" - -#. module: base_contact -#: field:res.partner.location,street2:0 -msgid "Street2" -msgstr "番地" - -#. module: base_contact -#: view:res.partner.contact:0 -msgid "Personal Information" -msgstr "個人情報" - -#. module: base_contact -#: field:res.partner.contact,birthdate:0 -msgid "Birth Date" -msgstr "生年月日" diff --git a/addons/fetchmail_crm_claim/i18n/ja.po b/addons/fetchmail_crm_claim/i18n/ja.po new file mode 100644 index 00000000000..a1f6db4a764 --- /dev/null +++ b/addons/fetchmail_crm_claim/i18n/ja.po @@ -0,0 +1,34 @@ +# Japanese translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-04-08 05:43+0000\n" +"Last-Translator: Masaki Yamaya \n" +"Language-Team: Japanese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-09 04:56+0000\n" +"X-Generator: Launchpad (build 15060)\n" + +#. module: fetchmail_crm_claim +#: model:ir.actions.act_window,help:fetchmail_crm_claim.action_create_crm_claims_from_email_account +msgid "" +"You can connect your email account with claims in OpenERP. A new email sent " +"to this account (example: support@mycompany.com) will automatically create a " +"claim for the followup in OpenERP. The whole communication by email will be " +"attached to the claim automatically to keep track of the history." +msgstr "" +"あなたのEメールアカウントをOpenERPのクレームに関連づけることはできません。このアカウントに送られた新しいEメールはOpenERPのフォローアップの" +"ためのクレームを自動的に作成します。Eメールによる全てのコミュニケーションは、履歴を記録するために、自動的にクレームに関連づけられます。" + +#. module: fetchmail_crm_claim +#: model:ir.actions.act_window,name:fetchmail_crm_claim.action_create_crm_claims_from_email_account +msgid "Create Claims from Email Account" +msgstr "Eメールアカウントからクレームを作成" From 2c780efd12a47d440e7b9a4ecae7da0cf9565390 Mon Sep 17 00:00:00 2001 From: Tejas Tank Date: Thu, 19 Apr 2012 18:59:16 +0530 Subject: [PATCH 0009/1075] Web Etherpad Integration bzr revid: tta@openerp.com-20120419132916-yzrdnz2y8gus2wlw --- addons/web_etherpad/__init__.py | 2 + addons/web_etherpad/__openerp__.py | 16 +++ addons/web_etherpad/res_company.py | 15 +++ addons/web_etherpad/res_company.xml | 16 +++ .../static/src/js/web_etherpad.js | 125 ++++++++++++++++++ .../web_etherpad/static/src/xml/etherpad.xml | 21 +++ 6 files changed, 195 insertions(+) create mode 100644 addons/web_etherpad/__init__.py create mode 100755 addons/web_etherpad/__openerp__.py create mode 100644 addons/web_etherpad/res_company.py create mode 100644 addons/web_etherpad/res_company.xml create mode 100755 addons/web_etherpad/static/src/js/web_etherpad.js create mode 100755 addons/web_etherpad/static/src/xml/etherpad.xml diff --git a/addons/web_etherpad/__init__.py b/addons/web_etherpad/__init__.py new file mode 100644 index 00000000000..df35bc32106 --- /dev/null +++ b/addons/web_etherpad/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +import res_company diff --git a/addons/web_etherpad/__openerp__.py b/addons/web_etherpad/__openerp__.py new file mode 100755 index 00000000000..829081e8c65 --- /dev/null +++ b/addons/web_etherpad/__openerp__.py @@ -0,0 +1,16 @@ +{ + "name": "web_etherpad", + "category" : "Hidden", + "description":'Openerp web Etherpad Widget', + "version": "2.0", + 'author': 'OpenERP SA', + 'website': 'http://openerp.com', + 'data': [ + 'res_company.xml' + ], + "depends": ['base','web'], + 'qweb' : ['static/src/xml/etherpad.xml'], + "css": [], + "js": ['static/src/js/web_etherpad.js'], + "auto_install": False, +} diff --git a/addons/web_etherpad/res_company.py b/addons/web_etherpad/res_company.py new file mode 100644 index 00000000000..0c1dc7c4929 --- /dev/null +++ b/addons/web_etherpad/res_company.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +from osv import fields, osv + +class company_pad(osv.osv): + _inherit = 'res.company' + _columns = { + 'pad_url_template': fields.char('Pad URL Template', size=128, required=True, + help="Template used to generate pad URL."), + } + _defaults = { + 'pad_url_template': 'http://ietherpad.com/%(db)s-%(model)s-%(id)d-%(salt)s-%(name)s' + } + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/web_etherpad/res_company.xml b/addons/web_etherpad/res_company.xml new file mode 100644 index 00000000000..20b6f52d853 --- /dev/null +++ b/addons/web_etherpad/res_company.xml @@ -0,0 +1,16 @@ + + + + res.company.form.pad + res.company + form + + + + + + + + + + diff --git a/addons/web_etherpad/static/src/js/web_etherpad.js b/addons/web_etherpad/static/src/js/web_etherpad.js new file mode 100755 index 00000000000..d19fb2b9512 --- /dev/null +++ b/addons/web_etherpad/static/src/js/web_etherpad.js @@ -0,0 +1,125 @@ +openerp.web_etherpad = function (instance) { + + instance.web.form.FieldEtherpad = instance.web.form.AbstractField.extend(_.extend({}, instance.web.form.ReinitializeFieldMixin, { + template: 'FieldEtherpad', + initialize_content: function() { + this.$textarea = undefined; + if (!this.get("effective_readonly")) { + this.$textarea = this.$element.find('textarea'); + //this.$textarea.hide(); + this.$textarea.change(_.bind(function() { + this.set({'value': instance.web.parse_value(this.$textarea.val(), this)}); + }, this)); + this.resized = false; + } + }, + set_value: function(value_) { + var self = this ; + var company_id = (self.view.datarecord.hasOwnProperty('id')) ?self.view.datarecord.company_id[0]: self.view.datarecord.company_id ; + /* getting etherpad url and set pad to field. */ + self.rpc('/web/dataset/get',{ + 'model':'res.company', + 'ids':[company_id], + 'fields':['pad_url_template'], + 'context':{} + },function(companies){ + var pad_template = companies[0].pad_url_template.replace('-%(salt)s-%(name)s','').replace(/\s/g,''); + + var patt_url = (_.str.sprintf(pad_template.replace('-%(id)d',''), { + db : self.session.db, + model : self.view.model, + })).replace(/\s/g,'') ; + //alert("match or not >?"+value_.search(patt_url)); + if(value_ == false) + self.add_pad(self,pad_template,value_); + else if(value_.search(patt_url) != 0) + self.add_pad(self,pad_template,value_); + else + self.show_pad_value(self,value_); + }); + }, + show_pad_value: function(self,value_) + { + self._inhibit_on_change = true; + self.set({'value': value_ }); + self._inhibit_on_change = false; + self.invalid = false; + self.update_dom(); + self.render_value(); + }, + add_pad: function(self,pad_template,value_){ + var url = (_.str.sprintf(pad_template, { + db : self.session.db, + model : self.view.model, + id : Math.round(new Date().getTime()/100.0), + })).replace(/\s/g,''); + var show_value = instance.web.format_value(value_, this, ''); + self.show_pad_value(self,url + '\n'+ show_value); + this.dirty = true; + }, + render_value: function() { + var show_value = instance.web.format_value(this.get('value'), this, ''); + if (!this.get("effective_readonly")) { + this.$textarea.val(show_value); + this.$element.find('div').html(''); + if (!this.resized && this.view.options.resize_textareas) { + this.do_resize(this.view.options.resize_textareas); + this.resized = true; + } + } else { + this.$element.text(show_value); + if(this.get('value') != false) + { + var self = this; + $.get(show_value.split('\n')[0]+'/export/html', function(data) { + console.log(data); + self.$element.html(data); + }); + } + } + }, + validate: function() { + this.invalid = false; + if (!this.get("effective_readonly")) { + try { + var value_ = instance.web.parse_value(this.$textarea.val(), this, ''); + this.invalid = this.get("required") && value_ === ''; + } catch(e) { + this.invalid = true; + } + } + }, + focus: function($element) { + this._super($element || this.$textarea); + }, + do_resize: function(max_height) { + max_height = parseInt(max_height, 10); + var $input = this.$textarea, + $div = $('
').width($input.width()), + new_height; + $div.text($input.val()); + _.each('font-family,font-size,white-space'.split(','), function(style) { + $div.css(style, $input.css(style)); + }); + $div.appendTo($('body')); + new_height = $div.height(); + if (new_height < 90) { + new_height = 90; + } + if (!isNaN(max_height) && new_height > max_height) { + new_height = max_height; + } + $div.remove(); + $input.height(new_height); + }, + reset: function() { + this.resized = false; + } + })); + + instance.web.form.widgets = instance.web.form.widgets.extend({ + 'etherpad': 'instance.web.form.FieldEtherpad', + }); + + +} diff --git a/addons/web_etherpad/static/src/xml/etherpad.xml b/addons/web_etherpad/static/src/xml/etherpad.xml new file mode 100755 index 00000000000..64c2e2dc6a0 --- /dev/null +++ b/addons/web_etherpad/static/src/xml/etherpad.xml @@ -0,0 +1,21 @@ + + + + + + + +
+ +
+
+
+
+ +
From 4cb57e25230fb289d4e61dd2acb31953ebe7e2a2 Mon Sep 17 00:00:00 2001 From: Tejas Tank Date: Thu, 19 Apr 2012 19:05:22 +0530 Subject: [PATCH 0010/1075] Not show textarea bzr revid: tta@openerp.com-20120419133522-lk286h44c2y06j6g --- addons/web_etherpad/static/src/js/web_etherpad.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web_etherpad/static/src/js/web_etherpad.js b/addons/web_etherpad/static/src/js/web_etherpad.js index d19fb2b9512..28afe60133d 100755 --- a/addons/web_etherpad/static/src/js/web_etherpad.js +++ b/addons/web_etherpad/static/src/js/web_etherpad.js @@ -6,7 +6,7 @@ openerp.web_etherpad = function (instance) { this.$textarea = undefined; if (!this.get("effective_readonly")) { this.$textarea = this.$element.find('textarea'); - //this.$textarea.hide(); + this.$textarea.hide(); this.$textarea.change(_.bind(function() { this.set({'value': instance.web.parse_value(this.$textarea.val(), this)}); }, this)); From 4a9e3512c58627b42fc82f4f2283e2ba0064637f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 19 Apr 2012 17:26:44 +0200 Subject: [PATCH 0011/1075] [ADD] mail: added mail.subscription.hide model. This will holds the hiden notification subtypes. bzr revid: tde@openerp.com-20120419152644-u3t5y18s0w7r5ton --- addons/mail/mail_subscription.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/addons/mail/mail_subscription.py b/addons/mail/mail_subscription.py index fc82af879a9..2b6a8dd5342 100644 --- a/addons/mail/mail_subscription.py +++ b/addons/mail/mail_subscription.py @@ -44,6 +44,25 @@ class mail_subscription(osv.osv): ondelete='cascade', required=True, select=1), } +class mail_subscription_hide(osv.osv): + """ + mail_subscription_hide holds the data to store the hiden notifications + on the Wall. Hide choices are related to a subscription, not a model + or a user. + :param: subscription_id: the related subscription + :param: subtype: the message subtype hiden + """ + _name = 'mail.subscription.hide' + _rec_name = 'id' + _order = 'id desc' + _description = 'Hidden subscription' + _columns = { + 'subscription_id': fields.many2one('mail.subscription', string='Subscription', + ondelete='cascade', required=True, select=1), + 'subtype': fields.char('Message subtype', size=64, + required=True, help='Message subtype is a string that depends on the related model.'), + } + class mail_notification(osv.osv): """ mail_notification is a relational table modeling messages pushed to users. From 491e8ad9f6192278ee386d6a721f8c810009d581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 19 Apr 2012 17:38:25 +0200 Subject: [PATCH 0012/1075] [ADD] mail.subscription.hide: added views and menu entry. bzr revid: tde@openerp.com-20120419153825-xodlfiotdgdmco30 --- addons/mail/mail_subscription_view.xml | 36 +++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/addons/mail/mail_subscription_view.xml b/addons/mail/mail_subscription_view.xml index 52b72127b78..827c23b25d2 100644 --- a/addons/mail/mail_subscription_view.xml +++ b/addons/mail/mail_subscription_view.xml @@ -20,6 +20,23 @@ + + + + mail.subscription.hide.tree + mail.subscription.hide + tree + 10 + + + + + + + + @@ -45,6 +62,13 @@ tree,form + + Hidden subscriptions + mail.subscription.hide + form + tree,form + + Pushed notif mail.notification @@ -52,11 +76,15 @@ tree,form - - + + + - - + + From ae0dbd21455e8a6ef2d358b8999fba49674fd497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 19 Apr 2012 17:53:39 +0200 Subject: [PATCH 0013/1075] [ADD] mail.group: added a 'models' field, to link groups to models. Purpose: group will be able to aggregate messages, and users following the group will receive notifications. Example: being able to follow all leads. bzr revid: tde@openerp.com-20120419155339-etlzmi5jo5d8iwgf --- addons/mail/mail_group.py | 2 ++ addons/mail/mail_group_view.xml | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py index 0a8677d7862..83d0705c4e0 100644 --- a/addons/mail/mail_group.py +++ b/addons/mail/mail_group.py @@ -119,6 +119,8 @@ class mail_group(osv.osv): ondelete='set null', required=True, select=1, help="Responsible of the group that has all rights on the record."), 'public': fields.boolean('Public', help='This group is visible by non members. Invisible groups can add members through the invite button.'), + 'models': fields.many2many('ir.model', rel='mail_group_models_rel', id1='mail_group_id', id2='model_id', + string='Linked models', help='Linked models'), 'photo_big': fields.binary('Full-size photo', help='Field holding the full-sized PIL-supported and base64 encoded version of the group image. The photo field is used as an interface for this field.'), 'photo': fields.function(_get_photo, fnct_inv=_set_photo, string='Photo', type="binary", store = { diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml index ea0dede377d..d911b4a7deb 100644 --- a/addons/mail/mail_group_view.xml +++ b/addons/mail/mail_group_view.xml @@ -58,6 +58,11 @@ + + + + + From caba5db34bb9d6a4f91127c063293aae3be13780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 19 Apr 2012 18:20:50 +0200 Subject: [PATCH 0014/1075] [ADD] mail.message: added a message_subtype field, that will contain more precise data about the type of content. Example: create, cancel, ... Purpose: being able to filter (hide) a given content type. bzr revid: tde@openerp.com-20120419162050-6uq495s94i4etnbp --- addons/mail/mail_message.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 5d5d599be0e..9228861b139 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -206,6 +206,12 @@ class mail_message(osv.osv): ('comment', 'Comment'), ('notification', 'System notification'), ], 'Type', help="Message type: e-mail for e-mail message, notification for system message, comment for other messages such as user replies"), + 'message_subtype': fields.selection([ + ('email', 'e-mail'), + ('comment', 'Comment'), + ('create', 'Create'), + ('cancel', 'Cancel'), + ], 'Type', help="Message subtype, such as create or cancel. May be overriden by addons."), 'partner_id': fields.many2one('res.partner', 'Related partner'), 'user_id': fields.many2one('res.users', 'Related user', readonly=1), 'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments'), @@ -224,6 +230,7 @@ class mail_message(osv.osv): _defaults = { 'type': 'email', + 'message_subtype': 'email', 'state': 'received', } From 7a4ca1338c43b63c4d7976519ffe7a374d922fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Apr 2012 10:42:41 +0200 Subject: [PATCH 0015/1075] [ADD] Chatter widget: added links to hide a thread or a subtype. Only links, not functional currently, because logic is not implemented. bzr revid: tde@openerp.com-20120420084241-02l4tfifzxjd88go --- addons/mail/static/src/css/mail.css | 31 ++++++++++++++++++++++++++++ addons/mail/static/src/js/mail.js | 32 +++++++++++++++++++++++++++++ addons/mail/static/src/xml/mail.xml | 6 ++++++ 3 files changed, 69 insertions(+) diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css index 7f0cc6f222c..5bae0d5e73b 100644 --- a/addons/mail/static/src/css/mail.css +++ b/addons/mail/static/src/css/mail.css @@ -167,6 +167,7 @@ } .openerp .oe_mail_msg_notification, .openerp .oe_mail_msg_comment, .openerp .oe_mail_msg_email { + position: relative; padding: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; @@ -229,6 +230,36 @@ color: #4E43E7; } +.openerp img.oe_mail_msg_menu_icon { + float: right; + cursor: pointer; +} + +.openerp ul.oe_mail_msg_menu { +/* + display: none; +*/ + display: block; + position: absolute; + top: 1em; + right: 1em; + overflow-x: hidden; + z-index: 900; + background: white; + padding: 4px; + border: 1px solid #AFAFB6; + width: 150px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + -o-border-radius: 3px; + -ms-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -o-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); +} + /* ------------------------------ */ /* Styling (should be openerp) */ /* ------------------------------ */ diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index d99674f98a7..160a1dc33fd 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -174,6 +174,34 @@ openerp.mail = function(session) { } return false; }); + // event: click on 'hide notification' in wheel_menu + this.$element.find('div.oe_mail_thread_display').delegate('a.oe_mail_msg_hide_thread', 'click', function (event) { + console.log('hiding notification'); + if (! confirm(_t("Do you really want to hide this thread ?"))) { return false; } + var msg_id = event.srcElement.dataset.id; + if (! msg_id) return false; + console.log(msg_id); + //var call_defer = self.ds.call('message_remove_pushed_notifications', [[self.params.res_id], [parseInt(msg_id)], true]); + $(event.srcElement).parents('li.oe_mail_thread_msg').eq(0).hide(); + if (self.params.thread_level > 0) { + $(event.srcElement).parents('ul.oe_mail_thread').eq(0).hide(); + } + return false; + }); + // event: click on 'hide this type' in wheel_menu + this.$element.find('div.oe_mail_thread_display').delegate('a.oe_mail_msg_hide_type', 'click', function (event) { + console.log('hiding type'); + if (! confirm(_t("Do you really want to hide this thread ?"))) { return false; } + var msg_id = event.srcElement.dataset.id; + if (! msg_id) return false; + console.log(msg_id); + //var call_defer = self.ds.call('message_remove_pushed_notifications', [[self.params.res_id], [parseInt(msg_id)], true]); + $(event.srcElement).parents('li.oe_mail_thread_msg').eq(0).hide(); + if (self.params.thread_level > 0) { + $(event.srcElement).parents('ul.oe_mail_thread').eq(0).hide(); + } + return false; + }); // event: click on an internal link this.$element.find('div.oe_mail_thread_display').delegate('a.intlink', 'click', function (event) { // lazy implementation: fetch data and try to redirect @@ -193,6 +221,10 @@ openerp.mail = function(session) { } else self.do_action({ type: 'ir.actions.act_window', res_model: res_model, res_id: parseInt(res_id), views: [[false, 'form']]}); }); + // event: click on the wheel menu in messages + this.$element.find('div.oe_mail_thread_display').delegate('img.oe_mail_msg_menu_icon', 'click', function (event) { + self.$element.find('ul.oe_mail_msg_menu').toggle(); + }); }, destroy: function () { diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml index f034b04311d..7fe1d39a661 100644 --- a/addons/mail/static/src/xml/mail.xml +++ b/addons/mail/static/src/xml/mail.xml @@ -58,6 +58,12 @@
  • + menu +
    From 318ef517ab037bafba43c2e5d85301f0f88432c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Apr 2012 11:36:45 +0200 Subject: [PATCH 0016/1075] [REF] mail.message.common model: renamed subtype to content_subtype. Purpose: make a distinction between content and message model. Type and subtype will be used to distinguish messages, content_subtype to distinguish the content itself. bzr revid: tde@openerp.com-20120420093645-tt78zzrmq2nxomvb --- addons/base_calendar/base_calendar.py | 2 +- addons/crm/wizard/mail_compose_message.py | 2 +- addons/email_template/email_template.py | 4 +- addons/mail/mail_message.py | 78 ++++++++++++---------- addons/mail/mail_message_view.xml | 4 +- addons/mail/mail_thread.py | 22 +++--- addons/mail/wizard/mail_compose_message.py | 12 ++-- 7 files changed, 65 insertions(+), 59 deletions(-) diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 4dffd8bcbf8..09033bffa84 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -515,7 +515,7 @@ property or property parameter."), sub, body, attachments=attach and {'invitation.ics': attach} or None, - subtype='html', + content_subtype='html', reply_to=email_from, context=context ) diff --git a/addons/crm/wizard/mail_compose_message.py b/addons/crm/wizard/mail_compose_message.py index b82c3083f3a..11d340b2f76 100644 --- a/addons/crm/wizard/mail_compose_message.py +++ b/addons/crm/wizard/mail_compose_message.py @@ -54,7 +54,7 @@ class mail_compose_message(osv.osv_memory): 'email_cc' : tools.ustr(data.email_cc or ''), 'model': model, 'res_id': res_id, - 'subtype': 'plain', + 'content_subtype': 'plain', }) if hasattr(data, 'section_id'): result.update({'reply_to' : data.section_id and data.section_id.reply_to or False}) diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index 86f136ca5b9..31bf9a76441 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -310,7 +310,7 @@ class email_template(osv.osv): 'attachment_ids': False, 'message_id': False, 'state': 'outgoing', - 'subtype': 'plain', + 'content_subtype': 'plain', } if not template_id: return values @@ -326,7 +326,7 @@ class email_template(osv.osv): or False if values['body_html']: - values.update(subtype='html') + values.update(content_subtype='html') if template.user_signature: signature = self.pool.get('res.users').browse(cr, uid, uid, context).signature diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 9228861b139..1595fbae077 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -63,18 +63,21 @@ def to_email(text): if not text: return [] return re.findall(r'([^ ,<@]+@[^> ,]+)', text) -class mail_message_common(osv.osv_memory): +class mail_message_common(osv.TransientModel): """Common abstract class for holding the main attributes of a message object. It could be reused as parent model for any database model or wizard screen that needs to hold a kind of - message""" + message. + All internal logic should be in a database-based model. For example, + a wizard for writing emails should inherit from this class and not + from mail.message.""" def get_body(self, cr, uid, ids, name, arg, context=None): if context is None: context = {} result = dict.fromkeys(ids, '') for message in self.browse(cr, uid, ids, context=context): - if message.subtype == 'html': + if message.content_subtype == 'html': result[message.id] = message.body_html else: result[message.id] = message.body_text @@ -85,7 +88,7 @@ class mail_message_common(osv.osv_memory): - obj: mail.message object - name: 'body' - args: [('body', 'ilike', 'blah')]""" - return ['|', '&', ('subtype', '=', 'html'), ('body_html', args[0][1], args[0][2]), ('body_text', args[0][1], args[0][2])] + return ['|', '&', ('content_subtype', '=', 'html'), ('body_html', args[0][1], args[0][2]), ('body_text', args[0][1], args[0][2])] def get_record_name(self, cr, uid, ids, name, arg, context=None): if context is None: @@ -115,19 +118,20 @@ class mail_message_common(osv.osv_memory): help="Full message headers, e.g. SMTP session headers (usually available on inbound messages only)"), 'message_id': fields.char('Message-Id', size=256, help='Message unique identifier', select=1, readonly=1), 'references': fields.text('References', help='Message references, such as identifiers of previous messages', readonly=1), - 'subtype': fields.char('Message type', size=32, help="Type of message, usually 'html' or 'plain', used to " - "select plaintext or rich text contents accordingly", readonly=1), + 'content_subtype': fields.char('Message content subtype', size=32, + help="Type of message, usually 'html' or 'plain', used to " + "select plain-text or rich-text contents accordingly", readonly=1), 'body_text': fields.text('Text contents', help="Plain-text version of the message"), 'body_html': fields.text('Rich-text contents', help="Rich-text/HTML version of the message"), 'body': fields.function(get_body, fnct_search = search_body, string='Message content', type='text', - help="Content of the message. This content equals the body_text field for plain-test messages, and body_html for rich-text/HTML messages. This allows having one field if we want to access the content matching the message subtype."), + help="Content of the message. This content equals the body_text field for plain-test messages, and body_html for rich-text/HTML messages. This allows having one field if we want to access the content matching the message content_subtype."), 'parent_id': fields.many2one('mail.message', 'Parent message', help="Parent message, used for displaying as threads with hierarchy", select=True, ondelete='set null',), 'child_ids': fields.one2many('mail.message', 'parent_id', 'Child messages'), } _defaults = { - 'subtype': 'plain', + 'content_subtype': 'plain', 'date': (lambda *a: fields.datetime.now()), } @@ -206,12 +210,12 @@ class mail_message(osv.osv): ('comment', 'Comment'), ('notification', 'System notification'), ], 'Type', help="Message type: e-mail for e-mail message, notification for system message, comment for other messages such as user replies"), - 'message_subtype': fields.selection([ + 'message_tmptype': fields.selection([ ('email', 'e-mail'), ('comment', 'Comment'), ('create', 'Create'), ('cancel', 'Cancel'), - ], 'Type', help="Message subtype, such as create or cancel. May be overriden by addons."), + ], 'Type', help="Message temptype, such as create or cancel. May be overriden by addons."), 'partner_id': fields.many2one('res.partner', 'Related partner'), 'user_id': fields.many2one('res.users', 'Related user', readonly=1), 'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments'), @@ -230,7 +234,7 @@ class mail_message(osv.osv): _defaults = { 'type': 'email', - 'message_subtype': 'email', + 'message_tmptype': 'email', 'state': 'received', } @@ -250,18 +254,18 @@ class mail_message(osv.osv): default.update(message_id=False,original=False,headers=False) return super(mail_message,self).copy(cr, uid, id, default=default, context=context) - def schedule_with_attach(self, cr, uid, email_from, email_to, subject, body, model=False, email_cc=None, - email_bcc=None, reply_to=False, attachments=None, message_id=False, references=False, - res_id=False, subtype='plain', headers=None, mail_server_id=False, auto_delete=False, - context=None): + def schedule_with_attach(self, cr, uid, email_from, email_to, subject, body, model=False, + email_cc=None, email_bcc=None, reply_to=False, attachments=None, + message_id=False, references=False, res_id=False, content_subtype='plain', + headers=None, mail_server_id=False, auto_delete=False, context=None): """Schedule sending a new email message, to be sent the next time the mail scheduler runs, or the next time :meth:`process_email_queue` is called explicitly. :param string email_from: sender email address :param list email_to: list of recipient addresses (to be joined with commas) :param string subject: email subject (no pre-encoding/quoting necessary) - :param string body: email body, according to the ``subtype`` (by default, plaintext). - If html subtype is used, the message will be automatically converted + :param string body: email body, according to the ``content_subtype`` + (by default, plaintext). If html content_subtype is used, the message will be automatically converted to plaintext and wrapped in multipart/alternative. :param list email_cc: optional list of string values for CC header (to be joined with commas) :param list email_bcc: optional list of string values for BCC header (to be joined with commas) @@ -272,9 +276,9 @@ class mail_message(osv.osv): be used to generate a tracking id, used to match any response related to the same document) :param string reply_to: optional value of Reply-To header - :param string subtype: optional mime subtype for the text body (usually 'plain' or 'html'), - must match the format of the ``body`` parameter. Default is 'plain', - making the content part of the mail "text/plain". + :param string content_subtype: optional mime content_subtype for the text body (usually 'plain' or 'html'), + must match the format of the ``body`` parameter. Default is 'plain', + making the content part of the mail "text/plain". :param dict attachments: map of filename to filecontents, where filecontents is a string containing the bytes of the attachment :param dict headers: optional map of headers to set on the outgoing mail (may override the @@ -299,8 +303,8 @@ class mail_message(osv.osv): 'model': model, 'res_id': res_id, 'type': 'email', - 'body_text': body if subtype != 'html' else False, - 'body_html': body if subtype == 'html' else False, + 'body_text': body if content_subtype != 'html' else False, + 'body_html': body if content_subtype == 'html' else False, 'email_from': email_from, 'email_to': email_to and ','.join(email_to) or '', 'email_cc': email_cc and ','.join(email_cc) or '', @@ -308,7 +312,7 @@ class mail_message(osv.osv): 'reply_to': reply_to, 'message_id': message_id, 'references': references, - 'subtype': subtype, + 'content_subtype': content_subtype, 'headers': headers, # serialize the dict on the fly 'mail_server_id': mail_server_id, 'state': 'outgoing', @@ -388,7 +392,7 @@ class mail_message(osv.osv): 'headers' : { 'X-Mailer': mailer, #.. all X- headers... }, - 'subtype': msg_mime_subtype, + 'content_subtype': msg_mime_subtype, 'body_text': plaintext_body 'body_html': html_body, 'attachments': [('file1', 'bytes'), @@ -464,7 +468,7 @@ class mail_message(osv.osv): msg['in-reply-to'] = msg_txt.get('In-Reply-To') msg['headers'] = {} - msg['subtype'] = 'plain' + msg['content_subtype'] = 'plain' for item in msg_txt.items(): if item[0].startswith('X-'): msg['headers'].update({item[0]: item[1]}) @@ -473,7 +477,7 @@ class mail_message(osv.osv): body = msg_txt.get_payload(decode=True) if 'text/html' in msg.get('content-type', ''): msg['body_html'] = body - msg['subtype'] = 'html' + msg['content_subtype'] = 'html' if body: body = tools.html2plaintext(body) msg['body_text'] = tools.ustr(body, encoding) @@ -482,9 +486,9 @@ class mail_message(osv.osv): if msg_txt.is_multipart() or 'multipart/alternative' in msg.get('content-type', ''): body = "" if 'multipart/alternative' in msg.get('content-type', ''): - msg['subtype'] = 'alternative' + msg['content_subtype'] = 'alternative' else: - msg['subtype'] = 'mixed' + msg['content_subtype'] = 'mixed' for part in msg_txt.walk(): if part.get_content_maintype() == 'multipart': continue @@ -498,7 +502,7 @@ class mail_message(osv.osv): content = tools.ustr(content, encoding) if part.get_content_subtype() == 'html': msg['body_html'] = content - msg['subtype'] = 'html' # html version prevails + msg['content_subtype'] = 'html' # html version prevails body = tools.ustr(tools.html2plaintext(content)) body = body.replace(' ', '') elif part.get_content_subtype() == 'plain': @@ -515,7 +519,7 @@ class mail_message(osv.osv): # for backwards compatibility: msg['body'] = msg['body_text'] - msg['sub_type'] = msg['subtype'] or 'plain' + msg['sub_type'] = msg['content_subtype'] or 'plain' return msg def _postprocess_sent_message(self, cr, uid, message, context=None): @@ -561,15 +565,17 @@ class mail_message(osv.osv): for attach in message.attachment_ids: attachments.append((attach.datas_fname, base64.b64decode(attach.datas))) - body = message.body_html if message.subtype == 'html' else message.body_text + body = message.body_html if message.content_subtype == 'html' else message.body_text body_alternative = None - subtype_alternative = None - if message.subtype == 'html' and message.body_text: + content_subtype_alternative = None + if message.content_subtype == 'html' and message.body_text: # we have a plain text alternative prepared, pass it to # build_message instead of letting it build one body_alternative = message.body_text - subtype_alternative = 'plain' + content_subtype_alternative = 'plain' + # build an RFC2822 email.message.Message object adn send it + # without queuing msg = ir_mail_server.build_email( email_from=message.email_from, email_to=to_email(message.email_to), @@ -582,8 +588,8 @@ class mail_message(osv.osv): attachments=attachments, message_id=message.message_id, references = message.references, object_id=message.res_id and ('%s-%s' % (message.res_id,message.model)), - subtype=message.subtype, - subtype_alternative=subtype_alternative, + subtype=message.content_subtype, + subtype_alternative=content_subtype_alternative, headers=message.headers and ast.literal_eval(message.headers)) res = ir_mail_server.send_email(cr, uid, msg, mail_server_id=message.mail_server_id.id, diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml index ecd106e05e5..1a7d511de3b 100644 --- a/addons/mail/mail_message_view.xml +++ b/addons/mail/mail_message_view.xml @@ -103,7 +103,7 @@ - + @@ -113,7 +113,7 @@ - +
    -
    - - - - + + + - diff --git a/addons/hr_payroll/res_config_view.xml b/addons/hr_payroll/res_config_view.xml index c62281892e8..eb486a7a8d5 100644 --- a/addons/hr_payroll/res_config_view.xml +++ b/addons/hr_payroll/res_config_view.xml @@ -8,8 +8,11 @@ - - + +
    + +
    diff --git a/addons/hr_recruitment/res_config_view.xml b/addons/hr_recruitment/res_config_view.xml index 60d6d8d152d..442eca839d6 100644 --- a/addons/hr_recruitment/res_config_view.xml +++ b/addons/hr_recruitment/res_config_view.xml @@ -7,15 +7,23 @@ form - - - - diff --git a/addons/hr_timesheet_sheet/res_config_view.xml b/addons/hr_timesheet_sheet/res_config_view.xml index 61ebee2412b..1dcc721e697 100644 --- a/addons/hr_timesheet_sheet/res_config_view.xml +++ b/addons/hr_timesheet_sheet/res_config_view.xml @@ -7,10 +7,16 @@ form - - - - + +
    +
    +
    +
    +
    From f41efa7f9edec3b9444b40415a30b3a5a6099af8 Mon Sep 17 00:00:00 2001 From: "Foram Katharotiya (OpenERP)" Date: Thu, 19 Jul 2012 16:55:51 +0530 Subject: [PATCH 0539/1075] [IMP] improve base general settings config wizard bzr revid: fka@tinyerp.com-20120719112551-i2kmnp79xci2q6t0 --- addons/base_setup/res_config_view.xml | 46 +++++++++++++++++++-------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/addons/base_setup/res_config_view.xml b/addons/base_setup/res_config_view.xml index 5227b0885a9..13466e83962 100644 --- a/addons/base_setup/res_config_view.xml +++ b/addons/base_setup/res_config_view.xml @@ -13,22 +13,42 @@
  • - +

    + From 041a0d7efee89f0e8566d585d19cfe9c3b13bbd3 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Thu, 19 Jul 2012 18:12:53 +0200 Subject: [PATCH 0572/1075] [IMP] we don't need inline actions: rights on Create/Edit/... buttons will be managed later bzr revid: abo@openerp.com-20120719161253-9m5i9n2pjl0uov9o --- addons/portal/portal_data.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/portal/portal_data.xml b/addons/portal/portal_data.xml index 624dbaa618d..74e08bc5343 100644 --- a/addons/portal/portal_data.xml +++ b/addons/portal/portal_data.xml @@ -1,6 +1,6 @@ - + Portal @@ -18,7 +18,6 @@ mail.group form - inline From 642fc05be5f47afebad5ddac7003c569d47fc881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Thu, 19 Jul 2012 18:38:09 +0200 Subject: [PATCH 0573/1075] [CLEAN] mail.message: cleaned comments before merge. Also made an auto update of email_to field, based on partner_ids. bzr revid: tde@openerp.com-20120719163809-3c6cex32rg0qo8y1 --- addons/mail/mail_message.py | 74 ++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 34 deletions(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 564f81bf4a5..507f467e2cb 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -279,7 +279,7 @@ class mail_message(osv.Model): if default is None: default = {} self.check(cr, uid, [id], 'read', context=context) - default.update(message_id=False,original=False,headers=False) + default.update(message_id=False, original=False, headers=False) return super(mail_message,self).copy(cr, uid, id, default=default, context=context) def write(self, cr, uid, ids, vals, context=None): @@ -291,38 +291,45 @@ class mail_message(osv.Model): return super(mail_message, self).unlink(cr, uid, ids, context) def schedule_with_attach(self, cr, uid, email_from, email_to, subject, body, model=False, - email_cc=None, email_bcc=None, reply_to=False, attachments=None, partner_ids=None, + email_cc=None, email_bcc=None, reply_to=False, partner_ids=None, attachments=None, message_id=False, references=False, res_id=False, content_subtype='plain', headers=None, mail_server_id=False, auto_delete=False, context=None): - """Schedule sending a new email message, to be sent the next time the mail scheduler runs, or - the next time :meth:`process_email_queue` is called explicitly. - - :param string email_from: sender email address - :param list email_to: list of recipient addresses (to be joined with commas) - :param string subject: email subject (no pre-encoding/quoting necessary) - :param string body: email body, according to the ``content_subtype`` - (by default, plaintext). If html content_subtype is used, the message will be automatically converted - to plaintext and wrapped in multipart/alternative. - :param list email_cc: optional list of string values for CC header (to be joined with commas) - :param list email_bcc: optional list of string values for BCC header (to be joined with commas) - :param string model: optional model name of the document this mail is related to (this will also - be used to generate a tracking id, used to match any response related to the - same document) - :param int res_id: optional resource identifier this mail is related to (this will also - be used to generate a tracking id, used to match any response related to the - same document) - :param string reply_to: optional value of Reply-To header - :param string content_subtype: optional mime content_subtype for the text body (usually 'plain' or 'html'), - must match the format of the ``body`` parameter. Default is 'plain', - making the content part of the mail "text/plain". - :param dict attachments: map of filename to filecontents, where filecontents is a string - containing the bytes of the attachment - :param dict headers: optional map of headers to set on the outgoing mail (may override the - other headers, including Subject, Reply-To, Message-Id, etc.) - :param int mail_server_id: optional id of the preferred outgoing mail server for this mail - :param bool auto_delete: optional flag to turn on auto-deletion of the message after it has been - successfully sent (default to False) + """ Schedule sending a new email message, to be sent the next time the + mail scheduler runs, or the next time :meth:`process_email_queue` is + called explicitly. + :param string email_from: sender email address + :param list email_to: list of recipient addresses (to be joined with commas) + :param string subject: email subject (no pre-encoding/quoting necessary) + :param string body: email body, according to the ``content_subtype`` + (by default, plaintext). If html content_subtype is used, the + message will be automatically converted to plaintext and wrapped + in multipart/alternative. + :param list email_cc: optional list of string values for CC header + (to be joined with commas) + :param list email_bcc: optional list of string values for BCC header + (to be joined with commas) + :param string model: optional model name of the document this mail + is related to (this will also be used to generate a tracking id, + used to match any response related to the same document) + :param int res_id: optional resource identifier this mail is related + to (this will also be used to generate a tracking id, used to + match any response related to the same document) + :param string reply_to: optional value of Reply-To header + :param partner_ids: destination partner_ids + :param string content_subtype: optional mime content_subtype for + the text body (usually 'plain' or 'html'), must match the format + of the ``body`` parameter. Default is 'plain', making the content + part of the mail "text/plain". + :param dict attachments: map of filename to filecontents, where + filecontents is a string containing the bytes of the attachment + :param dict headers: optional map of headers to set on the outgoing + mail (may override the other headers, including Subject, + Reply-To, Message-Id, etc.) + :param int mail_server_id: optional id of the preferred outgoing + mail server for this mail + :param bool auto_delete: optional flag to turn on auto-deletion of + the message after it has been successfully sent (default to False) """ if context is None: context = {} @@ -336,7 +343,7 @@ class mail_message(osv.Model): param = [param] msg_vals = { 'subject': subject, - 'date': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date': fields.datetime.now(), 'user_id': uid, 'model': model, 'res_id': res_id, @@ -621,7 +628,6 @@ class mail_message(osv.Model): for partner in message.partner_ids: partner_ids_email_to += '%s ' % (partner.email or '') message_email_to = '%s %s' % (partner_ids_email_to, message.email_to or '') - print message_email_to # build an RFC2822 email.message.Message object adn send it # without queuing @@ -644,9 +650,9 @@ class mail_message(osv.Model): mail_server_id=message.mail_server_id.id, context=context) if res: - message.write({'state':'sent', 'message_id': res}) + message.write({'state':'sent', 'message_id': res, 'email_to': message_email_to}) else: - message.write({'state':'exception'}) + message.write({'state':'exception', 'email_to': message_email_to}) message.refresh() if message.state == 'sent': self._postprocess_sent_message(cr, uid, message, context=context) From ad9f16238d8122d1d07470cc445ebb946359b41d Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Fri, 20 Jul 2012 04:45:32 +0000 Subject: [PATCH 0574/1075] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20120720043734-rqxoubj45utde2nb bzr revid: launchpad_translations_on_behalf_of_openerp-20120720044532-0x70lsjeu7dcpj56 --- addons/web/i18n/ja.po | 4 +- addons/web_calendar/i18n/ja.po | 4 +- addons/web_dashboard/i18n/ja.po | 4 +- addons/web_diagram/i18n/ja.po | 4 +- addons/web_gantt/i18n/hu.po | 28 ++++++++ addons/web_gantt/i18n/ja.po | 4 +- addons/web_graph/i18n/hu.po | 98 ++++++++++++++++++++++++++ addons/web_graph/i18n/ja.po | 4 +- addons/web_kanban/i18n/hu.po | 66 ++++++++++++++++++ addons/web_kanban/i18n/ja.po | 4 +- addons/web_mobile/i18n/ja.po | 4 +- addons/web_process/i18n/hu.po | 118 ++++++++++++++++++++++++++++++++ addons/web_process/i18n/ja.po | 4 +- openerp/addons/base/i18n/ja.po | 38 +++++----- 14 files changed, 347 insertions(+), 37 deletions(-) create mode 100644 addons/web_gantt/i18n/hu.po create mode 100644 addons/web_graph/i18n/hu.po create mode 100644 addons/web_kanban/i18n/hu.po create mode 100644 addons/web_process/i18n/hu.po diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po index c1339863a4d..41154a91a72 100644 --- a/addons/web/i18n/ja.po +++ b/addons/web/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web/static/src/js/chrome.js:176 diff --git a/addons/web_calendar/i18n/ja.po b/addons/web_calendar/i18n/ja.po index 00ea538f586..e950529be81 100644 --- a/addons/web_calendar/i18n/ja.po +++ b/addons/web_calendar/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_calendar/static/src/js/calendar.js:11 diff --git a/addons/web_dashboard/i18n/ja.po b/addons/web_dashboard/i18n/ja.po index 6b59633054b..c3e73cebb9d 100644 --- a/addons/web_dashboard/i18n/ja.po +++ b/addons/web_dashboard/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_dashboard/static/src/js/dashboard.js:60 diff --git a/addons/web_diagram/i18n/ja.po b/addons/web_diagram/i18n/ja.po index bd1625fe9df..9897259683c 100644 --- a/addons/web_diagram/i18n/ja.po +++ b/addons/web_diagram/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_diagram/static/src/js/diagram.js:11 diff --git a/addons/web_gantt/i18n/hu.po b/addons/web_gantt/i18n/hu.po new file mode 100644 index 00000000000..7fe1cce2631 --- /dev/null +++ b/addons/web_gantt/i18n/hu.po @@ -0,0 +1,28 @@ +# Hungarian translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-19 06:30+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" + +#. openerp-web +#: addons/web_gantt/static/src/js/gantt.js:11 +msgid "Gantt" +msgstr "" + +#. openerp-web +#: addons/web_gantt/static/src/xml/web_gantt.xml:10 +msgid "Create" +msgstr "Létrehozás" diff --git a/addons/web_gantt/i18n/ja.po b/addons/web_gantt/i18n/ja.po index d16a0e5452f..29dee705455 100644 --- a/addons/web_gantt/i18n/ja.po +++ b/addons/web_gantt/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_gantt/static/src/js/gantt.js:11 diff --git a/addons/web_graph/i18n/hu.po b/addons/web_graph/i18n/hu.po new file mode 100644 index 00000000000..b3b7b0a864d --- /dev/null +++ b/addons/web_graph/i18n/hu.po @@ -0,0 +1,98 @@ +# Hungarian translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-19 06:27+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" + +#. openerp-web +#: addons/web_graph/static/src/js/graph.js:19 +msgid "Graph" +msgstr "Grafikon" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:5 +msgid "Graph Options" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:7 +msgid "Graph Mode" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:11 +msgid "Pie" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:12 +msgid "Bars" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:14 +msgid "Lines" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:15 +msgid "Areas" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:18 +msgid "Radar" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:20 +msgid "Legend" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:24 +msgid "Hidden" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:25 +msgid "Inside" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:26 +msgid "Top" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:28 +msgid "Actions" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:32 +msgid "Switch Axis" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:33 +msgid "Show Data" +msgstr "" + +#. openerp-web +#: addons/web_graph/static/src/xml/web_graph.xml:34 +msgid "Download as PNG" +msgstr "" diff --git a/addons/web_graph/i18n/ja.po b/addons/web_graph/i18n/ja.po index 7fa475e3bcb..6952acbbc5d 100644 --- a/addons/web_graph/i18n/ja.po +++ b/addons/web_graph/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_graph/static/src/js/graph.js:19 diff --git a/addons/web_kanban/i18n/hu.po b/addons/web_kanban/i18n/hu.po new file mode 100644 index 00000000000..54814691329 --- /dev/null +++ b/addons/web_kanban/i18n/hu.po @@ -0,0 +1,66 @@ +# Hungarian translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-19 06:26+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:10 +msgid "Kanban" +msgstr "Kanban" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:293 +msgid "Undefined" +msgstr "Nem definiált" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:468 +msgid "Are you sure you want to delete this record ?" +msgstr "Biztosan törölni szeretné ezt a bejegyzést?" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:839 +msgid "Create: " +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:41 +msgid "Show more... (" +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:41 +msgid "remaining)" +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:71 +msgid "Add" +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:71 +msgid "or" +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:72 +msgid "Cancel" +msgstr "" + +#~ msgid "Create" +#~ msgstr "Létrehozás" diff --git a/addons/web_kanban/i18n/ja.po b/addons/web_kanban/i18n/ja.po index 440a2e15fbd..51a1a1559bf 100644 --- a/addons/web_kanban/i18n/ja.po +++ b/addons/web_kanban/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_kanban/static/src/js/kanban.js:10 diff --git a/addons/web_mobile/i18n/ja.po b/addons/web_mobile/i18n/ja.po index 9be55cb112a..82f05b3282d 100644 --- a/addons/web_mobile/i18n/ja.po +++ b/addons/web_mobile/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_mobile/static/src/xml/web_mobile.xml:17 diff --git a/addons/web_process/i18n/hu.po b/addons/web_process/i18n/hu.po new file mode 100644 index 00000000000..d37cd5543e7 --- /dev/null +++ b/addons/web_process/i18n/hu.po @@ -0,0 +1,118 @@ +# Hungarian translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-19 06:28+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" + +#. openerp-web +#: addons/web_process/static/src/js/process.js:261 +msgid "Cancel" +msgstr "Mégsem" + +#. openerp-web +#: addons/web_process/static/src/js/process.js:262 +msgid "Save" +msgstr "Mentés" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:6 +msgid "Process View" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:19 +msgid "Documentation" +msgstr "Dokumentáció" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:19 +msgid "Read Documentation Online" +msgstr "Olvassa a dokumentációt online" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:25 +msgid "Forum" +msgstr "Fórum" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:25 +msgid "Community Discussion" +msgstr "Közösségi vitafórum" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:31 +msgid "Books" +msgstr "Könyvek" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:31 +msgid "Get the books" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:37 +msgid "OpenERP Enterprise" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:37 +msgid "Purchase OpenERP Enterprise" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:52 +msgid "Process" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:56 +msgid "Notes:" +msgstr "Megjegyzések:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:59 +msgid "Last modified by:" +msgstr "Utoljára módosította:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:59 +msgid "N/A" +msgstr "" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:62 +msgid "Subflows:" +msgstr "Alfolyamatok:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:75 +msgid "Related:" +msgstr "Kapcsolódó:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:88 +msgid "Select Process" +msgstr "Folyamat kiválasztása" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:98 +msgid "Select" +msgstr "Kiválaszt" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:109 +msgid "Edit Process" +msgstr "" diff --git a/addons/web_process/i18n/ja.po b/addons/web_process/i18n/ja.po index 4cc24782acb..22db0acff5e 100644 --- a/addons/web_process/i18n/ja.po +++ b/addons/web_process/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:53+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:45+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. openerp-web #: addons/web_process/static/src/js/process.js:261 diff --git a/openerp/addons/base/i18n/ja.po b/openerp/addons/base/i18n/ja.po index 0e756def3ee..f4d05595b25 100644 --- a/openerp/addons/base/i18n/ja.po +++ b/openerp/addons/base/i18n/ja.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-server\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:44+0000\n" -"PO-Revision-Date: 2012-07-08 22:23+0000\n" +"PO-Revision-Date: 2012-07-19 05:44+0000\n" "Last-Translator: Akira Hiyama \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-19 04:40+0000\n" -"X-Generator: Launchpad (build 15637)\n" +"X-Launchpad-Export-Date: 2012-07-20 04:37+0000\n" +"X-Generator: Launchpad (build 15644)\n" #. module: base #: model:res.country,name:base.sh @@ -459,7 +459,7 @@ msgstr "ir.ui.view_sc" #: field:res.widget.user,widget_id:0 #: field:res.widget.wizard,widgets_list:0 msgid "Widget" -msgstr "ウィジット" +msgstr "ウィジェット" #. module: base #: view:ir.model.access:0 @@ -2514,7 +2514,7 @@ msgstr "" #. module: base #: model:ir.actions.act_window,name:base.action_res_widget_wizard msgid "Homepage Widgets Management" -msgstr "ホームページウィジット管理" +msgstr "ホームページウィジェット管理" #. module: base #: field:res.company,rml_header1:0 @@ -2782,7 +2782,7 @@ msgstr "インポート / エクスポート" #. module: base #: model:ir.actions.todo.category,name:base.category_tools_customization_config msgid "Tools / Customization" -msgstr "ツール / カスタマイゼーション" +msgstr "ツール / カスタム化" #. module: base #: field:ir.model.data,res_id:0 @@ -2895,7 +2895,7 @@ msgstr "マネジャ" #. module: base #: model:ir.ui.menu,name:base.menu_custom msgid "Customization" -msgstr "カスタマイゼーション" +msgstr "カスタム化" #. module: base #: model:res.country,name:base.py @@ -7797,7 +7797,7 @@ msgstr "" #. module: base #: view:res.widget.wizard:0 msgid "Widget Wizard" -msgstr "ウィジットウィザード" +msgstr "ウィジェットウィザード" #. module: base #: model:ir.module.module,shortdesc:base.module_l10n_hn @@ -12068,7 +12068,7 @@ msgstr "" "このモジュールはパートナのアドレスの中にGoogleマップ項目を追加します。\n" "====================================================\n" "\n" -"これを使うと、URLウィジットからGoogleマップを直接開くことができます。" +"これを使うと、URLウィジェットからGoogleマップを直接開くことができます。" #. module: base #: field:workflow.activity,action:0 @@ -14297,7 +14297,7 @@ msgstr "連絡先を隠すためにはアクティブな項目のチェックを #. module: base #: model:ir.model,name:base.model_res_widget_wizard msgid "Add a widget for User" -msgstr "ユーザのウィジットを追加" +msgstr "ユーザのウィジェットを追加" #. module: base #: model:res.country,name:base.dk @@ -15305,7 +15305,7 @@ msgstr "イラン" #: model:ir.actions.act_window,name:base.res_widget_user_act_window #: model:ir.ui.menu,name:base.menu_res_widget_user_act_window msgid "Widgets per User" -msgstr "ユーザ当りのウィジット" +msgstr "ユーザ当りのウィジェット" #. module: base #: model:ir.actions.act_window,name:base.action_publisher_warranty_contract_form @@ -15579,7 +15579,7 @@ msgstr "情報" #. module: base #: view:res.widget.user:0 msgid "User Widgets" -msgstr "ユーザウィジット" +msgstr "ユーザウィジェット" #. module: base #: view:base.module.update:0 @@ -17621,7 +17621,7 @@ msgstr "機能" #. module: base #: view:res.widget:0 msgid "Search Widget" -msgstr "ウィジットの検索" +msgstr "ウィジェットの検索" #. module: base #: model:ir.module.category,description:base.module_category_customer_relationship_management @@ -17742,7 +17742,7 @@ msgstr "受発注のドキュメントの内容に応じて、自動的に正し #: model:ir.actions.act_window,name:base.res_widget_act_window #: model:ir.ui.menu,name:base.menu_res_widget_act_window msgid "Homepage Widgets" -msgstr "ホームページウィジット" +msgstr "ホームページウィジェット" #. module: base #: help:res.company,rml_footer2:0 @@ -17815,23 +17815,23 @@ msgid "" " " msgstr "" "\n" -"このモジュールは何の開発もなしで新しいモジュールの作成ができます。\n" +"このモジュールは何の開発もなしに新しいモジュールの作成ができます。\n" "======================================================================\n" "\n" "これは記録セッションの中でオブジェクトの全ての操作を記録します。そして、\n" ".ZIPモジュールを生成します。それによって、OpenERPクライアントから直接\n" "独自モジュールを作成することができます。\n" "\n" -"このバージョンは作成と既存のレコードの更新にために動作します。それは依存関係と、\n" -"全てのウィジットのタイプのためリンク(多対1、多対多など)を再計算します。\n" +"このバージョンは作成と既存のレコードの更新のために動作します。それは依存関係と、\n" +"全てのウィジェットのタイプのためリンク(多対1、多対多など)を再計算します。\n" "また、ワークフローとデモ / 更新データもサポートします。\n" "\n" "カスタム設定とデモ / テストデータのために、簡単に再利用と公表可能なモジュールを\n" "作成するために役立つはずです。\n" "\n" "利用方法:\n" -"モジュールウィザードの アドミニストレーション/カスタマイゼーション/モジュール \n" -"作成/エクスポート カスタマイゼーション を実行します。\n" +"モジュールウィザードの アドミニストレーション/カスタム化/モジュール \n" +"作成/エクスポート カスタム化 を実行します。\n" "記録の日時の基準、記録されるオブジェクト、記録モジュールを選択します。\n" " " From f33c1dabe3faf2325629e3a7f968948896d0ac63 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 11:03:26 +0530 Subject: [PATCH 0575/1075] [IMP] account_voucher: improved search vies. bzr revid: tpa@tinyerp.com-20120720053326-i5ufn19s1hl33w11 --- .../account_voucher/account_voucher_view.xml | 23 ++++------ .../account_voucher_sales_receipt_view.xml | 36 +++------------ .../voucher_payment_receipt_view.xml | 46 +++++++------------ .../voucher_sales_purchase_view.xml | 46 +++++++------------ 4 files changed, 47 insertions(+), 104 deletions(-) diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml index d1912a58d1c..50967f04c40 100644 --- a/addons/account_voucher/account_voucher_view.xml +++ b/addons/account_voucher/account_voucher_view.xml @@ -126,21 +126,14 @@ 1 - - - - - - - - - - - - - - - + + + + + + + + diff --git a/addons/account_voucher/report/account_voucher_sales_receipt_view.xml b/addons/account_voucher/report/account_voucher_sales_receipt_view.xml index 704135ba421..eda8b349943 100644 --- a/addons/account_voucher/report/account_voucher_sales_receipt_view.xml +++ b/addons/account_voucher/report/account_voucher_sales_receipt_view.xml @@ -48,48 +48,26 @@ search - - - - - - - - - - - + + + + + + - - + - - - - - - diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml index 372d8aa1937..74926635679 100644 --- a/addons/account_voucher/voucher_payment_receipt_view.xml +++ b/addons/account_voucher/voucher_payment_receipt_view.xml @@ -8,21 +8,14 @@ search - - - - - - - - - - - - - - - + + + + + + + + @@ -40,21 +33,14 @@ search - - - - - - - - - - - - - - - + + + + + + + + diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml index bf1bca54447..902298a02e8 100644 --- a/addons/account_voucher/voucher_sales_purchase_view.xml +++ b/addons/account_voucher/voucher_sales_purchase_view.xml @@ -7,21 +7,14 @@ search - - - - - - - - - - - - - - - + + + + + + + + @@ -38,21 +31,14 @@ search - - - - - - - - - - - - - - - + + + + + + + + From 3a4489bf07206f19d1f8b3907af4dec6de8ad980 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 11:13:07 +0530 Subject: [PATCH 0576/1075] [IMP] improved code. bzr revid: tpa@tinyerp.com-20120720054307-fovy42a8urzdg95n --- addons/account_voucher/voucher_payment_receipt_view.xml | 2 -- addons/account_voucher/voucher_sales_purchase_view.xml | 2 -- 2 files changed, 4 deletions(-) diff --git a/addons/account_voucher/voucher_payment_receipt_view.xml b/addons/account_voucher/voucher_payment_receipt_view.xml index 74926635679..ea62e536b9d 100644 --- a/addons/account_voucher/voucher_payment_receipt_view.xml +++ b/addons/account_voucher/voucher_payment_receipt_view.xml @@ -15,7 +15,6 @@ - @@ -40,7 +39,6 @@ - diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml index 902298a02e8..cfc0977ea69 100644 --- a/addons/account_voucher/voucher_sales_purchase_view.xml +++ b/addons/account_voucher/voucher_sales_purchase_view.xml @@ -14,7 +14,6 @@ - @@ -38,7 +37,6 @@ - From 49b24edcc7d2b93093cc267e786462b74da69ce3 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 11:27:12 +0530 Subject: [PATCH 0577/1075] [IMP] base_calendar: improved search views. bzr revid: tpa@tinyerp.com-20120720055712-uqqaeyrz5o6y91ee --- addons/base_calendar/base_calendar_view.xml | 91 ++++++--------------- addons/base_calendar/crm_meeting_view.xml | 18 ++-- 2 files changed, 33 insertions(+), 76 deletions(-) diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index 76bb0c24cb5..5fdc3e89c73 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -84,40 +84,20 @@ search - - - - - - - - - - - - - + + + + + + + + - - - - - - - + + + + + @@ -414,37 +394,20 @@ search - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index c58c27a9959..38c5235501e 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -302,18 +302,12 @@ search - - - - - - - - - + + + + + + From 51180a1a02b3613f836c5e29f1e7d92f4f3298bb Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 11:37:15 +0530 Subject: [PATCH 0578/1075] [IMP] caldav: improved search view. bzr revid: tpa@tinyerp.com-20120720060715-6dzj3576e7i3dwnd --- addons/caldav/caldav_view.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/caldav/caldav_view.xml b/addons/caldav/caldav_view.xml index 02025ab5261..5a93fceabeb 100644 --- a/addons/caldav/caldav_view.xml +++ b/addons/caldav/caldav_view.xml @@ -159,15 +159,15 @@ - - - - - - - + + + + + + + From 286b5bbe1f57072188e6eadff7559b0206b019e3 Mon Sep 17 00:00:00 2001 From: "Randhir Mayatra (OpenERP)" Date: Fri, 20 Jul 2012 11:42:03 +0530 Subject: [PATCH 0579/1075] [IMP] Make Changes into the Manufacturing Wizard and resubmit it bzr revid: rma@tinyerp.com-20120720061203-ff3efztoxqvhzhjg --- addons/mrp/res_config_view.xml | 36 ++++++++++++++++------------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/addons/mrp/res_config_view.xml b/addons/mrp/res_config_view.xml index 65f8ed5c2aa..2524556d1ef 100644 --- a/addons/mrp/res_config_view.xml +++ b/addons/mrp/res_config_view.xml @@ -11,36 +11,35 @@ or From bb64a121e74919fe387176784cf8e4a20e4e0490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 11:25:45 +0200 Subject: [PATCH 0599/1075] [CLEAN] mail.message: cleaned comments and formatting, added parent_id and child_ids to mail.message model; mail.message.common only have a parent_id field now. bzr revid: tde@openerp.com-20120720092545-gouxtlg9b6frehm1 --- addons/mail/mail_message.py | 85 +++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 507f467e2cb..b2104322da6 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -57,13 +57,13 @@ def to_email(text): return mail_tools_to_email(text) class mail_message_common(osv.TransientModel): - """Common abstract class for holding the main attributes of a - message object. It could be reused as parent model for any - database model or wizard screen that needs to hold a kind of - message. - All internal logic should be in a database-based model while this - model holds the basics of a message. For example, a wizard for writing - emails should inherit from this class and not from mail.message.""" + """ Common abstract class for holding the main attributes of a + message object. It could be reused as parent model for any + database model or wizard screen that needs to hold a kind of + message. + All internal logic should be in another model while this + model holds the basics of a message. For example, a wizard for writing + emails should inherit from this class and not from mail.message.""" def get_body(self, cr, uid, ids, name, arg, context=None): """ get correct body version: body_html for html messages, and @@ -132,11 +132,13 @@ class mail_message_common(osv.TransientModel): 'body_html': fields.text('Rich-text Contents', help="Rich-text/HTML version of the message"), 'body': fields.function(get_body, fnct_search = search_body, type='text', string='Message Content', store=True, - help="Content of the message. This content equals the body_text field for plain-test messages, and body_html for rich-text/HTML messages. This allows having one field if we want to access the content matching the message subtype."), - 'parent_id': fields.many2one('mail.message', 'Parent Message', + help="Content of the message. This content equals the body_text field "\ + "for plain-test messages, and body_html for rich-text/HTML "\ + "messages. This allows having one field if we want to access "\ + "the content matching the message content_subtype."), + 'parent_id': fields.many2one('mail.message.common', 'Parent Message', select=True, ondelete='set null', help="Parent message, used for displaying as threads with hierarchy"), - 'child_ids': fields.one2many('mail.message', 'parent_id', 'Child Messages'), } _defaults = { @@ -149,24 +151,22 @@ class mail_message(osv.Model): notifications), comments (for OpenChatter feature) and RFC2822 email messages. This model also provides facilities to parse, queue and send new email messages. Type of messages - are differentiated using the 'type' column. - - The ``display_text`` field will have a slightly different - presentation for real emails and for log messages.""" + are differentiated using the 'type' column. """ _name = 'mail.message' _inherit = 'mail.message.common' _description = 'Mail Message (email, comment, notification)' _order = 'date desc' - # XXX to review - how to determine action to use? def open_document(self, cr, uid, ids, context=None): + """ Open the message related document. Note that only the document of + ids[0] will be opened. + TODO: how to determine the action to use ? + """ action_data = False if not ids: return action_data - # works only on 1 item - id = ids[0] - msg = self.browse(cr, uid, id, context=context) + msg = self.browse(cr, uid, ids[0], context=context) ir_act_window = self.pool.get('ir.actions.act_window') action_ids = ir_act_window.search(cr, uid, [('res_model', '=', msg.model)], context=context) if action_ids: @@ -178,14 +178,16 @@ class mail_message(osv.Model): }) return action_data - # XXX to review - how to determine action to use? def open_attachment(self, cr, uid, ids, context=None): + """ Open the message related attachments. + TODO: how to determine the action to use ? + """ action_data = False if not ids: return action_data action_pool = self.pool.get('ir.actions.act_window') messages = self.browse(cr, uid, ids, context=context) - att_ids = [x.id for x in message.attachment_ids for message in messages] + att_ids = [x.id for message in messages for x in message.attachment_ids] action_ids = action_pool.search(cr, uid, [('res_model', '=', 'ir.attachment')], context=context) if action_ids: action_data = action_pool.read(cr, uid, action_ids[0], context=context) @@ -200,13 +202,11 @@ class mail_message(osv.Model): ('email', 'email'), ('comment', 'Comment'), ('notification', 'System notification'), - ], 'Type', help="Message type: email for email message, notification for system message, comment for other messages such as user replies"), - 'subtype': fields.char('Subtype', size=64, - help="Message subtype, such as 'create' or 'cancel'. The purpose \ - is to be able to distinguish message of the same type.\ - For example, it is used to add the possibility to hide \ - notifications in the wall."), - 'partner_id': fields.many2one('res.partner', 'Related partner'), + ], 'Type', + help="Message type: email for email message, notification for system "\ + "message, comment for other messages such as user replies"), + 'partner_id': fields.many2one('res.partner', 'Related partner', + help="Deprecated field. Use partner_ids instead."), 'partner_ids': fields.many2many('res.partner', 'mail_message_destination_partner_rel', 'message_id', 'partner_id', 'Destination partners', @@ -222,13 +222,18 @@ class mail_message(osv.Model): ('exception', 'Delivery Failed'), ('cancel', 'Cancelled'), ], 'Status', readonly=True), - 'auto_delete': fields.boolean('Auto Delete', help="Permanently delete this email after sending it, to save space"), - 'original': fields.binary('Original', help="Original version of the message, as it was sent on the network", readonly=1), + 'auto_delete': fields.boolean('Auto Delete', + help="Permanently delete this email after sending it, to save space"), + 'original': fields.binary('Original', readonly=1, + help="Original version of the message, as it was sent on the network"), + 'parent_id': fields.many2one('mail.message', 'Parent Message', + select=True, ondelete='set null', + help="Parent message, used for displaying as threads with hierarchy"), + 'child_ids': fields.one2many('mail.message', 'parent_id', 'Child Messages'), } _defaults = { 'type': 'email', - 'subtype': 'email', 'state': 'received', } @@ -382,7 +387,10 @@ class mail_message(osv.Model): return email_msg_id def mark_outgoing(self, cr, uid, ids, context=None): - return self.write(cr, uid, ids, {'state':'outgoing'}, context) + return self.write(cr, uid, ids, {'state':'outgoing'}, context=context) + + def cancel(self, cr, uid, ids, context=None): + return self.write(cr, uid, ids, {'state':'cancel'}, context=context) def process_email_queue(self, cr, uid, ids=None, context=None): """Send immediately queued messages, committing after each @@ -582,10 +590,9 @@ class mail_message(osv.Model): """ if message.auto_delete: self.pool.get('ir.attachment').unlink(cr, uid, - [x.id for x in message.attachment_ids \ - if x.res_model == self._name and \ - x.res_id == message.id], - context=context) + [x.id for x in message.attachment_ids + if x.res_model == self._name and x.res_id == message.id], + context=context) message.unlink() return True @@ -604,8 +611,6 @@ class mail_message(osv.Model): transactions (default: False) :return: True """ - if context is None: - context = {} ir_mail_server = self.pool.get('ir.mail_server') self.write(cr, uid, ids, {'state': 'outgoing'}, context=context) for message in self.browse(cr, uid, ids, context=context): @@ -629,7 +634,7 @@ class mail_message(osv.Model): partner_ids_email_to += '%s ' % (partner.email or '') message_email_to = '%s %s' % (partner_ids_email_to, message.email_to or '') - # build an RFC2822 email.message.Message object adn send it + # build an RFC2822 email.message.Message object and send it # without queuing msg = ir_mail_server.build_email( email_from=message.email_from, @@ -664,8 +669,6 @@ class mail_message(osv.Model): cr.commit() return True - def cancel(self, cr, uid, ids, context=None): - self.write(cr, uid, ids, {'state':'cancel'}, context=context) - return True + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 58da4f7688b6bbdd229cce8be3aff387955ebbd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 11:26:20 +0200 Subject: [PATCH 0600/1075] [REF] mail: res.partner inheritance: removed unnecessary 'emails' column, as this is managed by Chatter. Also updated partner_id -> partner_ids. bzr revid: tde@openerp.com-20120720092620-o94cxdi2hxthd5y1 --- addons/mail/res_partner.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/addons/mail/res_partner.py b/addons/mail/res_partner.py index ceb90041142..aeec9a5a6b3 100644 --- a/addons/mail/res_partner.py +++ b/addons/mail/res_partner.py @@ -22,21 +22,18 @@ from osv import osv from osv import fields -class res_partner(osv.osv): +class res_partner_mail(osv.osv): """ Inherits partner and adds CRM information in the partner form """ _name = "res.partner" _inherit = ['res.partner', 'mail.thread'] - _columns = { - 'emails': fields.one2many('mail.message', 'partner_id', 'Emails', readonly=True, domain=[('email_from','!=',False)]), - } def message_search_get_domain(self, cr, uid, ids, context=None): """ Override of message_search_get_domain for partner discussion page. The purpose is to add messages directly sent to the partner. """ - initial_domain = super(res_partner, self).message_search_get_domain(cr, uid, ids, context=context) + initial_domain = super(res_partner_mail, self).message_search_get_domain(cr, uid, ids, context=context) if self._name == 'res.partner': # to avoid models inheriting from res.partner - search_domain = ['|'] + initial_domain + [('partner_id', 'in', ids)] + search_domain = ['|'] + initial_domain + [('partner_ids', 'in', ids)] return search_domain # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 09a5fbba59097a8c568bf2a4c116fa6ea0507885 Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Fri, 20 Jul 2012 14:56:53 +0530 Subject: [PATCH 0601/1075] [IMP]all: improve some tool-tip bzr revid: mma@tinyerp.com-20120720092653-197y2amboq3hv9e5 --- .../account_analytic_default.py | 6 +++--- .../openerp_report_designer/bin/script/Fields.py | 2 +- .../openerp_report_designer/bin/script/Translation.py | 2 +- .../openerp_report_designer/bin/script/modify.py | 6 +++--- addons/document/nodes.py | 2 +- addons/product_margin/product_margin.py | 10 +++++----- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index affc514e203..4fe654adffc 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -31,10 +31,10 @@ class account_analytic_default(osv.osv): _columns = { 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of analytic distribution"), 'analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'), - 'product_id': fields.many2one('product.product', 'Product', ondelete='cascade', help="Select a product which will use analytic account specified in analytic default (eg. create new customer invoice or Sale order if we select this product, it will automatically take this as an analytic account)"), - 'partner_id': fields.many2one('res.partner', 'Partner', ondelete='cascade', help="Select a partner which will use analytic account specified in analytic default (eg. create new customer invoice or Sale order if we select this partner, it will automatically take this as an analytic account)"), + 'product_id': fields.many2one('product.product', 'Product', ondelete='cascade', help="Select a product which will use analytic account specified in analytic default (e.g. create new customer invoice or Sale order if we select this product, it will automatically take this as an analytic account)"), + 'partner_id': fields.many2one('res.partner', 'Partner', ondelete='cascade', help="Select a partner which will use analytic account specified in analytic default (e.g. create new customer invoice or Sale order if we select this partner, it will automatically take this as an analytic account)"), 'user_id': fields.many2one('res.users', 'User', ondelete='cascade', help="Select a user which will use analytic account specified in analytic default."), - 'company_id': fields.many2one('res.company', 'Company', ondelete='cascade', help="Select a company which will use analytic account specified in analytic default (eg. create new customer invoice or Sale order if we select this company, it will automatically take this as an analytic account)"), + 'company_id': fields.many2one('res.company', 'Company', ondelete='cascade', help="Select a company which will use analytic account specified in analytic default (e.g. create new customer invoice or Sale order if we select this company, it will automatically take this as an analytic account)"), 'date_start': fields.date('Start Date', help="Default start date for this Analytic Account."), 'date_stop': fields.date('End Date', help="Default end date for this Analytic Account."), } diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py index 92044f78fe1..e7c2b33ca88 100644 --- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py +++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py @@ -174,7 +174,7 @@ class Fields(unohelper.Base, XJobExecutor ): self.win.doModalDialog("lstFields",self.sValue) else: - ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 Eg. http://localhost:8069 \nOR \nField-4 Eg. account.invoice") + ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 E.g. http://localhost:8069 \nOR \nField-4 E.g. account.invoice") self.win.endExecute() def lstbox_selected(self,oItemEvent): diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py index 73146f1b68a..97e6427ae76 100644 --- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py +++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py @@ -154,7 +154,7 @@ class AddLang(unohelper.Base, XJobExecutor ): self.win.doModalDialog("lstFields",self.sValue) else: - ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 Eg. http://localhost:8069 \nOR \nField-4 Eg. account.invoice") + ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 E.g. http://localhost:8069 \nOR \nField-4 E.g. account.invoice") self.win.endExecute() def lstbox_selected(self,oItemEvent): diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py index fc3d6672b79..f38424fd614 100644 --- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py +++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py @@ -77,7 +77,7 @@ class modify(unohelper.Base, XJobExecutor ): ErrorDialog( "Please insert user define field Field-1", "Just go to File->Properties->User Define \n" - "Field-1 Eg. http://localhost:8069" + "Field-1 E.g. http://localhost:8069" ) exit(1) @@ -108,9 +108,9 @@ class modify(unohelper.Base, XJobExecutor ): ErrorDialog( "Please insert user define field Field-1 or Field-4", "Just go to File->Properties->User Define \n" - "Field-1 Eg. http://localhost:8069 \n" + "Field-1 E.g. http://localhost:8069 \n" "OR \n" - "Field-4 Eg. account.invoice" + "Field-4 E.g. account.invoice" ) exit(1) diff --git a/addons/document/nodes.py b/addons/document/nodes.py index 273be7effa4..b4f423460d7 100644 --- a/addons/document/nodes.py +++ b/addons/document/nodes.py @@ -375,7 +375,7 @@ class node_class(object): could do various things. Should also consider node<->content, dir<->dir moves etc. - Move operations, as instructed from APIs (eg. request from DAV) could + Move operations, as instructed from APIs (e.g. request from DAV) could use this function. """ raise NotImplementedError(repr(self)) diff --git a/addons/product_margin/product_margin.py b/addons/product_margin/product_margin.py index 8f946467384..4c033a4a6ca 100644 --- a/addons/product_margin/product_margin.py +++ b/addons/product_margin/product_margin.py @@ -110,15 +110,15 @@ class product_product(osv.osv): 'purchase_gap' : fields.function(_product_margin, type='float', string='Purchase Gap', multi='product_margin', help="Normal Cost - Total Cost"), 'turnover' : fields.function(_product_margin, type='float', string='Turnover' ,multi='product_margin', - help="Sum of Multification of Invoice price and quantity of Customer Invoices"), + help="Sum of Multiplication of Invoice price and quantity of Customer Invoices"), 'total_cost' : fields.function(_product_margin, type='float', string='Total Cost', multi='product_margin', - help="Sum of Multification of Invoice price and quantity of Supplier Invoices "), + help="Sum of Multiplication of Invoice price and quantity of Supplier Invoices "), 'sale_expected' : fields.function(_product_margin, type='float', string='Expected Sale', multi='product_margin', - help="Sum of Multification of Sale Catalog price and quantity of Customer Invoices"), + help="Sum of Multiplication of Sale Catalog price and quantity of Customer Invoices"), 'normal_cost' : fields.function(_product_margin, type='float', string='Normal Cost', multi='product_margin', - help="Sum of Multification of Cost price and quantity of Supplier Invoices"), + help="Sum of Multiplication of Cost price and quantity of Supplier Invoices"), 'total_margin' : fields.function(_product_margin, type='float', string='Total Margin', multi='product_margin', - help="Turnorder - Standard price"), + help="Turnover - Standard price"), 'expected_margin' : fields.function(_product_margin, type='float', string='Expected Margin', multi='product_margin', help="Expected Sale - Normal Cost"), 'total_margin_rate' : fields.function(_product_margin, type='float', string='Total Margin (%)', multi='product_margin', From dee772d423934d682f9691f48115fcd56aea432b Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 20 Jul 2012 11:30:46 +0200 Subject: [PATCH 0602/1075] [FIX] in summary of modules: typos bzr revid: rco@openerp.com-20120720093046-92l51ts5aaee9etq --- addons/event/__openerp__.py | 2 +- addons/hr_holidays/__openerp__.py | 2 +- addons/hr_recruitment/__openerp__.py | 2 +- addons/mrp/__openerp__.py | 2 +- addons/point_of_sale/__openerp__.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py index 919cfb5846b..feb77249cbb 100644 --- a/addons/event/__openerp__.py +++ b/addons/event/__openerp__.py @@ -25,7 +25,7 @@ 'name': 'Events Organisation', 'version': '0.1', 'category': 'Tools', - 'summary': 'Invitation, Subscription', + 'summary': 'Invitations, Subscriptions', 'description': """ Organization and management of Events. ====================================== diff --git a/addons/hr_holidays/__openerp__.py b/addons/hr_holidays/__openerp__.py index d1559dedec1..b37dd3c7859 100644 --- a/addons/hr_holidays/__openerp__.py +++ b/addons/hr_holidays/__openerp__.py @@ -26,7 +26,7 @@ "author": "OpenERP SA", "category": "Human Resources", "sequence": 28, - "summary": "Allocation and Leaves Requests, Reporting by Department", + "summary": "Allocation and Leave Requests, Reporting by Department", "website": "http://www.openerp.com", "description": """ This module allows you to manage leaves and leaves' requests. diff --git a/addons/hr_recruitment/__openerp__.py b/addons/hr_recruitment/__openerp__.py index 3784185d83c..fe6c86c684d 100644 --- a/addons/hr_recruitment/__openerp__.py +++ b/addons/hr_recruitment/__openerp__.py @@ -24,7 +24,7 @@ 'version': '1.0', 'category': 'Human Resources', "sequence": 24, - "summary": "Job Description, Recruitment Process", + "summary": "Job Descriptions, Recruitment Process", 'description': """ Manages job positions and the recruitment process. ================================================== diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py index 826175bfd56..d1f5625e09f 100644 --- a/addons/mrp/__openerp__.py +++ b/addons/mrp/__openerp__.py @@ -27,7 +27,7 @@ "website" : "http://www.openerp.com", "category" : "Manufacturing", "sequence": 18, - "summary": "Manufacture, Production, Bill of Material", + "summary": "Manufacturing, Production, Bill of Materials", "images" : ["images/bill_of_materials.jpeg", "images/manufacturing_order.jpeg", "images/planning_manufacturing_order.jpeg", "images/production_analysis.jpeg", "images/production_dashboard.jpeg","images/routings.jpeg","images/work_centers.jpeg"], "depends" : ["procurement", "stock", "resource", "purchase", "product","process"], "description": """ diff --git a/addons/point_of_sale/__openerp__.py b/addons/point_of_sale/__openerp__.py index 31d03195357..7d556ffaf0e 100644 --- a/addons/point_of_sale/__openerp__.py +++ b/addons/point_of_sale/__openerp__.py @@ -25,7 +25,7 @@ 'version': '1.0.1', 'category': 'Point Of Sale', "sequence": 6, - "summary": "Touchscreen to manage your shop", + "summary": "Touchscreen to Manage your Shop", 'description': """ This module provides a quick and easy sale process. =================================================== From 7a82e8b328473038445b1e66ba7e5822e3639c29 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 15:11:48 +0530 Subject: [PATCH 0603/1075] [IMP] document: improved search views. bzr revid: tpa@tinyerp.com-20120720094148-cjz8aekkubtwj9g3 --- addons/document/document_view.xml | 16 +++------------- addons/document/report/document_report_view.xml | 9 ++------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/addons/document/document_view.xml b/addons/document/document_view.xml index 1b1864cabe0..fa65d75c875 100644 --- a/addons/document/document_view.xml +++ b/addons/document/document_view.xml @@ -41,7 +41,6 @@ - @@ -172,20 +171,15 @@ - - - - - + + - - @@ -269,11 +263,7 @@ - + diff --git a/addons/document/report/document_report_view.xml b/addons/document/report/document_report_view.xml index 98016d2fee2..6b3708d1a2f 100644 --- a/addons/document/report/document_report_view.xml +++ b/addons/document/report/document_report_view.xml @@ -41,13 +41,8 @@ search - - - - - + + From 39258f40816337b78b1841f8770e21ca021dac31 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 15:18:47 +0530 Subject: [PATCH 0604/1075] [IMP] document_webdav: improved search views. bzr revid: tpa@tinyerp.com-20120720094847-qpvfgw6y04978e17 --- addons/document_webdav/webdav_view.xml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/addons/document_webdav/webdav_view.xml b/addons/document_webdav/webdav_view.xml index 44af9f2af3a..35c37530f4d 100644 --- a/addons/document_webdav/webdav_view.xml +++ b/addons/document_webdav/webdav_view.xml @@ -38,10 +38,7 @@ search - - + @@ -140,10 +137,7 @@ search - - + From 7ab67eb72da9c4bc5a7d4977dbf1e228eb4db04f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 11:49:29 +0200 Subject: [PATCH 0605/1075] [IMP] mail.message view: cleaned short view for feeds. bzr revid: tde@openerp.com-20120720094929-wite8l21xa60v33n --- addons/mail/mail_message_view.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/mail/mail_message_view.xml b/addons/mail/mail_message_view.xml index 151b2558480..634b5317d27 100644 --- a/addons/mail/mail_message_view.xml +++ b/addons/mail/mail_message_view.xml @@ -34,16 +34,22 @@ - - - + + + + + + + + + From 29eb035bca501c500f351f684b4a916c439effaa Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 15:22:56 +0530 Subject: [PATCH 0606/1075] [IMP] email_template: improved search view. bzr revid: tpa@tinyerp.com-20120720095256-qhjdl6jrtcw2qo1k --- addons/email_template/email_template_view.xml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml index c05502cd3a0..dcfbc1bcc6b 100644 --- a/addons/email_template/email_template_view.xml +++ b/addons/email_template/email_template_view.xml @@ -122,16 +122,11 @@ search - - - - - - - + + + - From a5648e75d83f474422179eb1092b9b97055a9176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 11:57:19 +0200 Subject: [PATCH 0607/1075] [IMP] mail.mesage: scheduler: try to send only outgoing emails. bzr revid: tde@openerp.com-20120720095719-0qmigezuv7r6gr3d --- addons/mail/mail_message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index b2104322da6..8553566a6d1 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -409,7 +409,7 @@ class mail_message(osv.Model): if context is None: context = {} if not ids: - filters = [('state', '=', 'outgoing')] + filters = ['&', ('state', '=', 'outgoing'), ('type', '=', 'email')] if 'filters' in context: filters.extend(context['filters']) ids = self.search(cr, uid, filters, context=context) From 2cc62cebee7335912731c859bb303f377c42386e Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 15:40:46 +0530 Subject: [PATCH 0608/1075] [IMP] hr: improved search views. bzr revid: tpa@tinyerp.com-20120720101046-7a2ek2xg4brwmjb8 --- addons/hr/hr_department_view.xml | 1 - addons/hr/hr_view.xml | 20 +++++--------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml index bbf66f0d4c3..fcfbcba2497 100644 --- a/addons/hr/hr_department_view.xml +++ b/addons/hr/hr_department_view.xml @@ -44,7 +44,6 @@ - diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 0706da45c86..87df47eb718 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -109,16 +109,13 @@ - - - + + - - @@ -418,16 +415,9 @@ - - - - - - + + + From 415172010a22843daecfb0d08b10d19bfc16c153 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 15:45:08 +0530 Subject: [PATCH 0609/1075] [IMP] hr_attendance: improved search views. bzr revid: tpa@tinyerp.com-20120720101508-4zxvs5wiajfzqs9n --- addons/hr_attendance/hr_attendance_view.xml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/addons/hr_attendance/hr_attendance_view.xml b/addons/hr_attendance/hr_attendance_view.xml index 448e6401cbd..843d58b4690 100644 --- a/addons/hr_attendance/hr_attendance_view.xml +++ b/addons/hr_attendance/hr_attendance_view.xml @@ -55,16 +55,13 @@ - - - - - + + + - From 150b0fccd1bf5489eb62b81dc02f1420a3c39f7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 12:17:56 +0200 Subject: [PATCH 0610/1075] [REM] mail.message: schedule with attach: removed type=email, because this is the default value. bzr revid: tde@openerp.com-20120720101756-slv9kd6r5a3d9qrw --- addons/mail/mail_message.py | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 8553566a6d1..2443a5b8eca 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -352,7 +352,6 @@ class mail_message(osv.Model): 'user_id': uid, 'model': model, 'res_id': res_id, - 'type': 'email', 'body_text': body if content_subtype != 'html' else False, 'body_html': body if content_subtype == 'html' else False, 'email_from': email_from, From 49acfe69785efa7779dbe7409e7d4aab95122650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 12:21:03 +0200 Subject: [PATCH 0611/1075] [MOV] mail_demo moved to data/mail_demo. bzr revid: tde@openerp.com-20120720102103-4ls3yb0s7z27m4t6 --- addons/mail/__openerp__.py | 2 +- addons/mail/{ => data}/mail_demo.xml | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename addons/mail/{ => data}/mail_demo.xml (100%) diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py index 47256cd5730..6ad9ae91a53 100644 --- a/addons/mail/__openerp__.py +++ b/addons/mail/__openerp__.py @@ -100,7 +100,7 @@ The main features of the module are : 'static/src/xml/mail.xml', ], 'demo': [ - 'mail_demo.xml', + 'data/mail_demo.xml', ], } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/mail/mail_demo.xml b/addons/mail/data/mail_demo.xml similarity index 100% rename from addons/mail/mail_demo.xml rename to addons/mail/data/mail_demo.xml From 4429ce743eb8c63307641b2dc8e0f559cb3e9ddd Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 15:52:10 +0530 Subject: [PATCH 0612/1075] [IMP] hr_contract: improved search views. bzr revid: tpa@tinyerp.com-20120720102210-9tjwcd5hc709lrv5 --- addons/hr_contract/hr_contract_view.xml | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml index ae6789ea234..2fc04dc3e2f 100644 --- a/addons/hr_contract/hr_contract_view.xml +++ b/addons/hr_contract/hr_contract_view.xml @@ -40,22 +40,15 @@ search - - - - - - - - - - + + + + + - - @@ -174,9 +167,7 @@ search - - - + From 10e64ed7ebc95ce35c549d3b87883af8eba42a91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 12:24:35 +0200 Subject: [PATCH 0613/1075] [IMP] res.users, res.partner: chatter in correct 'footer' style. bzr revid: tde@openerp.com-20120720102435-v20b8jnwum6uvm84 --- addons/mail/res_partner_view.xml | 2 +- addons/mail/res_users_view.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/mail/res_partner_view.xml b/addons/mail/res_partner_view.xml index 8b4d89f89f4..d1e2d881739 100644 --- a/addons/mail/res_partner_view.xml +++ b/addons/mail/res_partner_view.xml @@ -9,7 +9,7 @@ -
    + diff --git a/addons/mail/res_users_view.xml b/addons/mail/res_users_view.xml index bd8041b3f1c..e268997ac2c 100644 --- a/addons/mail/res_users_view.xml +++ b/addons/mail/res_users_view.xml @@ -27,9 +27,9 @@ -
    +
    +
    From d9c5368a2cbe3f19aed1e4be08adcad826207dd0 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Fri, 20 Jul 2012 15:57:51 +0530 Subject: [PATCH 0614/1075] [IMP] product : TypeError: The model 'product.product' specifies an unexisting parent class 'mail.thread'. bzr revid: mdi@tinyerp.com-20120720102751-g100uuhvxl0lcr91 --- addons/product/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/product/__openerp__.py b/addons/product/__openerp__.py index 9b4d2cadee1..918545aa783 100644 --- a/addons/product/__openerp__.py +++ b/addons/product/__openerp__.py @@ -25,7 +25,7 @@ "version" : "1.1", "author" : "OpenERP SA", 'category': 'Sales Management', - "depends" : ["base", "process", "decimal_precision"], + "depends" : ["base", "process", "decimal_precision", "mail"], "init_xml" : [], "demo_xml" : ["product_demo.xml"], "description": """ From f4baf23f07dde32eda9aca152ab9381fe9ab4817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 12:29:04 +0200 Subject: [PATCH 0615/1075] [REM] [ADD] Removed old unused icons; added icons for composer. bzr revid: tde@openerp.com-20120720102904-jkwhlt1fgvf1ywja --- addons/mail/__openerp__.py | 5 +++-- addons/mail/static/src/img/_fp.png | Bin 7725 -> 0 bytes addons/mail/static/src/img/feeds-hover.png | Bin 15696 -> 0 bytes addons/mail/static/src/img/feeds.png | Bin 5647 -> 0 bytes 4 files changed, 3 insertions(+), 2 deletions(-) delete mode 100644 addons/mail/static/src/img/_fp.png delete mode 100644 addons/mail/static/src/img/feeds-hover.png delete mode 100644 addons/mail/static/src/img/feeds.png diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py index 6ad9ae91a53..6247e894661 100644 --- a/addons/mail/__openerp__.py +++ b/addons/mail/__openerp__.py @@ -83,9 +83,10 @@ The main features of the module are : 'static/src/img/email_icong.png', 'static/src/img/_al.png', 'static/src/img/_pincky.png', - 'static/src/img/feeds.png', - 'static/src/img/feeds-hover.png', 'static/src/img/groupdefault.png', + 'static/src/img/attachment.png', + 'static/src/img/checklist.png', + 'static/src/img/formatting.png', ], 'css': [ 'static/src/css/mail.css', diff --git a/addons/mail/static/src/img/_fp.png b/addons/mail/static/src/img/_fp.png deleted file mode 100644 index 17dce2a047c386c1cf1c16074254839717369085..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7725 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

    hcTg_N#6JaBO+` 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 na?=4ncn=^Mc>X=q~~R-y41mV4#pT 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 VO&d1z-`Qp$DKUA`T4BTB{|nfHS~>s# diff --git a/addons/mail/static/src/img/feeds.png b/addons/mail/static/src/img/feeds.png deleted file mode 100644 index ac2293c0bf5ae591a8a5e4bd404a64a93f578ccf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5647 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 UNjnbxOKfq#nox~ewHKlP0Xin0a{vGU From b50e73618980f262bc9c067b584ab8ee6f89aa9c Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 15:59:52 +0530 Subject: [PATCH 0616/1075] [IMP] hr_evaluation: improved search views. bzr revid: tpa@tinyerp.com-20120720102952-kcikbi0ak8cxsqb8 --- addons/hr_evaluation/hr_evaluation_view.xml | 40 +++++-------------- .../report/hr_evaluation_report_view.xml | 22 +++------- 2 files changed, 16 insertions(+), 46 deletions(-) diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml index a5efaf42347..82d090e4533 100644 --- a/addons/hr_evaluation/hr_evaluation_view.xml +++ b/addons/hr_evaluation/hr_evaluation_view.xml @@ -8,12 +8,8 @@ search - - - - - - + + @@ -234,22 +230,15 @@ search - - - - - - - - - - + + + + + - - @@ -330,20 +319,13 @@ search - - - - - - - - - + + + + - - diff --git a/addons/hr_evaluation/report/hr_evaluation_report_view.xml b/addons/hr_evaluation/report/hr_evaluation_report_view.xml index d855e02eea7..c08bce9f3a4 100644 --- a/addons/hr_evaluation/report/hr_evaluation_report_view.xml +++ b/addons/hr_evaluation/report/hr_evaluation_report_view.xml @@ -45,34 +45,22 @@ search - - - - - - - - - + + + + + - - - - - - From 918f386b3865f244c1be0dd604cfc0e4d8aa149d Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 16:07:21 +0530 Subject: [PATCH 0617/1075] [IMP] hr_expanse: improved search views. bzr revid: tpa@tinyerp.com-20120720103721-4i424494z5wkmvhj --- addons/hr_expense/hr_expense_view.xml | 34 ++++------ .../report/hr_expense_report_view.xml | 65 +++++++------------ 2 files changed, 38 insertions(+), 61 deletions(-) diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml index de19ed74b09..02e09268111 100644 --- a/addons/hr_expense/hr_expense_view.xml +++ b/addons/hr_expense/hr_expense_view.xml @@ -136,27 +136,19 @@ search - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/addons/hr_expense/report/hr_expense_report_view.xml b/addons/hr_expense/report/hr_expense_report_view.xml index 7877edf4b3a..01d7a9b7bef 100644 --- a/addons/hr_expense/report/hr_expense_report_view.xml +++ b/addons/hr_expense/report/hr_expense_report_view.xml @@ -51,46 +51,31 @@ search - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + From 88f6e08c2d81c18b651cf109736f3bd03cd80c4a Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Fri, 20 Jul 2012 16:12:55 +0530 Subject: [PATCH 0618/1075] [IMP] hr_holidays: improved search views. bzr revid: tpa@tinyerp.com-20120720104255-uotefml487n10yyt --- addons/hr_holidays/hr_holidays_view.xml | 44 ++++++++++--------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 161ca478f36..399fe416008 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -44,36 +44,28 @@ search - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - @@ -408,8 +400,7 @@ - - + @@ -475,8 +466,7 @@ - - + From 8ca1be5f85a2ac110c2f0ab0237fc837e05f10a4 Mon Sep 17 00:00:00 2001 From: "Amit Patel (OpenERP)" Date: Fri, 20 Jul 2012 16:13:08 +0530 Subject: [PATCH 0619/1075] [IMP]:improved manufacturing config wizard. bzr revid: apa@tinyerp.com-20120720104308-sdn4cbj8ei26a6o1 --- addons/mrp/res_config_view.xml | 108 ++++++++++++++++----------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/addons/mrp/res_config_view.xml b/addons/mrp/res_config_view.xml index 2524556d1ef..1e6f9ae63f8 100644 --- a/addons/mrp/res_config_view.xml +++ b/addons/mrp/res_config_view.xml @@ -11,66 +11,66 @@ or - + + + or + + Cancel @@ -1479,7 +1482,7 @@ - + or Cancel Send an Email

    - From 707c2dd573a8505a1d1af9b31b6f8666929e3bfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 14:57:09 +0200 Subject: [PATCH 0647/1075] [FIX] mail.compos.message: outgoing state only for emails. Send only emails, also. bzr revid: tde@openerp.com-20120720125709-rgfiwsy8qp3z5x1f --- addons/mail/wizard/mail_compose_message.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index de3e5ca39ba..d26511464f8 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -136,6 +136,8 @@ class mail_compose_message(osv.TransientModel): 'email_from': user.user_email or tools.config.get('email_from', False), 'body_html': False, 'body_text': False, + 'subject': False, + 'dest_partner_ids': [], }) return result @@ -263,6 +265,7 @@ class mail_compose_message(osv.TransientModel): subject = mail_wiz.subject if formatting else False content_subtype = 'html' if formatting else 'plain' type = 'email' if email_mode else 'comment' + state = 'outgoing' if email_mode else False partner_ids = [partner.id for partner in mail_wiz.dest_partner_ids] references = None headers = {} @@ -298,7 +301,7 @@ class mail_compose_message(osv.TransientModel): # processed as soon as the mail scheduler runs. if mail_thread_enabled: active_model_pool.message_append(cr, uid, [active_id], rendered_subject, rendered_body_text, rendered_body_html, - type=type, content_subtype=content_subtype, state='outgoing', partner_ids=partner_ids, + type=type, content_subtype=content_subtype, state=state, partner_ids=partner_ids, email_from=email_from, email_to=email_to, email_cc=email_cc, email_bcc=email_bcc, reply_to=reply_to, references=references, attachments=attachment, headers=headers, context=context) else: @@ -310,16 +313,17 @@ class mail_compose_message(osv.TransientModel): # normal mode - no mass-mailing if mail_thread_enabled: msg_ids = active_model_pool.message_append(cr, uid, active_ids, subject, mail_wiz.body_text, mail_wiz.body_html, - type=type, content_subtype=content_subtype, state='outgoing', partner_ids=partner_ids, + type=type, content_subtype=content_subtype, state=state, partner_ids=partner_ids, email_from=mail_wiz.email_from, email_to=mail_wiz.email_to, email_cc=mail_wiz.email_cc, email_bcc=mail_wiz.email_bcc, reply_to=mail_wiz.reply_to, references=references, attachments=attachment, headers=headers, context=context) else: msg_ids = [mail_message_obj.schedule_with_attach(cr, uid, mail_wiz.email_from, to_email(mail_wiz.email_to), subject, mail_wiz.body_text, - model=mail_wiz.model, email_cc=to_email(mail_wiz.email_cc), email_bcc=to_email(mail_wiz.email_bcc), reply_to=mail_wiz.reply_to, + type=type, model=mail_wiz.model, email_cc=to_email(mail_wiz.email_cc), email_bcc=to_email(mail_wiz.email_bcc), reply_to=mail_wiz.reply_to, attachments=attachment, references=references, res_id=int(mail_wiz.res_id), partner_ids=partner_ids, content_subtype=mail_wiz.content_subtype, headers=headers, context=context)] # in normal mode, we send the email immediately, as the user expects us to (delay should be sufficiently small) - mail_message_obj.send(cr, uid, msg_ids, context=context) + if type == 'email': + mail_message_obj.send(cr, uid, msg_ids, context=context) return {'type': 'ir.actions.act_window_close'} From f6a4e4875d31d936fb15194e18b0efdd2a48b5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 14:57:29 +0200 Subject: [PATCH 0648/1075] [IMP] mail.message: added type in parameters. Default is email. bzr revid: tde@openerp.com-20120720125729-4xq31w4o0qey6erl --- addons/mail/mail_message.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 2443a5b8eca..b96b6e3791e 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -295,7 +295,7 @@ class mail_message(osv.Model): self.check(cr, uid, ids, 'unlink', context=context) return super(mail_message, self).unlink(cr, uid, ids, context) - def schedule_with_attach(self, cr, uid, email_from, email_to, subject, body, model=False, + def schedule_with_attach(self, cr, uid, email_from, email_to, subject, body, model=False, type='email', email_cc=None, email_bcc=None, reply_to=False, partner_ids=None, attachments=None, message_id=False, references=False, res_id=False, content_subtype='plain', headers=None, mail_server_id=False, auto_delete=False, context=None): @@ -352,6 +352,7 @@ class mail_message(osv.Model): 'user_id': uid, 'model': model, 'res_id': res_id, + 'type': type, 'body_text': body if content_subtype != 'html' else False, 'body_html': body if content_subtype == 'html' else False, 'email_from': email_from, From c9ff048d924f18e49e0b65cd4159305d1fe4d5a5 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 20 Jul 2012 15:01:00 +0200 Subject: [PATCH 0649/1075] [IMP] debug mode bzr revid: nicolas.vanhoren@openerp.com-20120720130100-olttd8ovamdtywtt --- addons/web/common/http.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/web/common/http.py b/addons/web/common/http.py index 87748d2e6d9..bb87d719bad 100644 --- a/addons/web/common/http.py +++ b/addons/web/common/http.py @@ -28,6 +28,7 @@ import werkzeug.wsgi from . import nonliterals from . import session from . import openerplib +import urlparse __all__ = ['Root', 'jsonrequest', 'httprequest', 'Controller', 'WebRequest', 'JsonRequest', 'HttpRequest'] @@ -422,7 +423,9 @@ class DisableCacheMiddleware(object): self.app = app def __call__(self, environ, start_response): def start_wrapped(status, headers): - debug = environ.get('HTTP_REFERER', '').find('debug') != -1 + referer = environ.get('HTTP_REFERER', '') + parsed = urlparse.urlparse(referer) + debug = not urlparse.parse_qs(parsed.query).has_key('debug') filtered_headers = [(k,v) for k,v in headers if not (k=='Last-Modified' or (debug and k=='Cache-Control'))] if debug: filtered_headers.append(('Cache-Control', 'no-cache')) From a8ca054cf203ea01656590ee44af8ac2b44fd200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 20 Jul 2012 15:01:27 +0200 Subject: [PATCH 0650/1075] [CLEAN] mail.js: removed debug data. bzr revid: tde@openerp.com-20120720130127-7kquweauwh4bv7zi --- addons/mail/static/src/css/mail.css | 8 -------- addons/mail/static/src/js/mail.js | 12 +----------- addons/mail/static/src/xml/mail.xml | 18 +----------------- 3 files changed, 2 insertions(+), 36 deletions(-) diff --git a/addons/mail/static/src/css/mail.css b/addons/mail/static/src/css/mail.css index cf2f7d43a20..03f1078e6d5 100644 --- a/addons/mail/static/src/css/mail.css +++ b/addons/mail/static/src/css/mail.css @@ -275,14 +275,6 @@ display: none; } -.openerp ul.oe_mail_debug { - color: #888; -} - -.openerp ul.oe_mail_debug li { - margin-right: 12px; -} - /* ------------------------------------------------------------ */ /* mail.compose.message form view & OpenERP hacks /* ------------------------------------------------------------ */ diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 3872a486565..8ce050fd144 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -319,11 +319,11 @@ openerp.mail = function(session) { reinit: function() { var self = this; if (! this.form_view) return; - // debugger var call_defer = this.ds_compose.call('default_get', [['subject', 'body_text', 'body_html', 'dest_partner_ids'], this.ds_compose.get_context()]).then( function (result) { self.form_view.on_processed_onchange({'value': result}, []); }); + return call_defer; }, /** @@ -586,12 +586,8 @@ openerp.mail = function(session) { do_customize_display: function() { if (this.display.show_post_comment) { this.$element.find('div.oe_mail_thread_action').eq(0).show(); } - if (this.session.debug) { - this.$element.find('ul.oe_mail_debug').toggleClass('oe_mail_invisible'); - } }, - /** * Bind events in the widget. Each event is slightly described * in the function. */ @@ -656,12 +652,6 @@ openerp.mail = function(session) { self.instantiate_composition_form('reply', email_mode, formatting, msg_id); event.preventDefault(); }); - // event: click on "Debug data" in msg side menu (email style) - this.$element.find('div.oe_mail_thread_display').delegate('a.oe_mail_msg_debug', 'click', function (event) { - var act_dom = $(event.srcElement).parents('div.oe_mail_msg_content').find('ul.oe_mail_debug'); - act_dom.toggleClass('oe_mail_invisible'); - event.preventDefault(); - }); }, destroy: function () { diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml index 5d76096fb9a..bf8d7fd1475 100644 --- a/addons/mail/static/src/xml/mail.xml +++ b/addons/mail/static/src/xml/mail.xml @@ -136,7 +136,6 @@ -->
  • Reply by email
  • Details
  • -
  • Debug data
  • @@ -147,27 +146,12 @@
    -
      -
    • document: (,)
    • -
    • id:
    • -
    • type:
    • -
    • content_subtype:
    • -
    • state:
    • -
    • parent_id:
    • -
    • email_from:
    • -
    • email_to:
    • -
    • email_cc:
    • -
    • email_bcc:
    • -
    • reply_to:
    • -
    • partner_ids:
    • -
    • message_id:
    • -
    • references:
    • -
    +