From c9c9c1a755da0e2008a62a7773d732c118d13fb1 Mon Sep 17 00:00:00 2001 From: Odoo Translation Bot Date: Mon, 23 Jan 2017 15:58:56 +0100 Subject: [PATCH 01/15] [I18N] fetch missing terms in previous pull Due to --the minimum-perc rule on tx Fixes https://twitter.com/bealdav/status/822110096171954176 --- addons/l10n_pe/i18n/de.po | 10 +++++----- addons/l10n_pe/i18n/hu.po | 6 +++--- addons/payment_transfer/i18n/zh_CN.po | 12 ++++++------ addons/stock_dropshipping/i18n/fr.po | 4 ++-- addons/web_gantt/i18n/zh_CN.po | 11 ++++++----- addons/website_livechat/i18n/fr.po | 7 ++++--- addons/website_report/i18n/fr.po | 2 +- addons/website_sale_delivery/i18n/fr.po | 10 +++++----- addons/website_sale_delivery/i18n/sl.po | 4 ++-- addons/website_sale_options/i18n/zh_CN.po | 10 +++++----- 10 files changed, 39 insertions(+), 37 deletions(-) diff --git a/addons/l10n_pe/i18n/de.po b/addons/l10n_pe/i18n/de.po index fb01ec0229a..9c5bc6b678a 100644 --- a/addons/l10n_pe/i18n/de.po +++ b/addons/l10n_pe/i18n/de.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-11-24 02:53+0000\n" -"PO-Revision-Date: 2015-05-21 11:52+0000\n" +"PO-Revision-Date: 2016-01-18 19:43+0000\n" "Last-Translator: Martin Trigaux\n" -"Language-Team: German (http://www.transifex.com/projects/p/odoo-8/language/de/)\n" +"Language-Team: German (http://www.transifex.com/odoo/odoo-8/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -105,7 +105,7 @@ msgstr "Kapital" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_NCLASIFICADO msgid "Cuentas No Clasificadas" -msgstr "" +msgstr "Cuentas No Clasificadas" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_EGP_FU_060 @@ -155,7 +155,7 @@ msgstr "" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_EGP_NA_060 msgid "(+/-) Variación de Materias Primas" -msgstr "" +msgstr "(+/-) Variación de Materias Primas" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_BG_PTN_20 @@ -390,4 +390,4 @@ msgstr "" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_EGP_NA_080 msgid "(+/-) Variación de Envases y Embalajes" -msgstr "" +msgstr "(+/-) Variación de Envases y Embalajes" diff --git a/addons/l10n_pe/i18n/hu.po b/addons/l10n_pe/i18n/hu.po index df957d49c27..72465fe42ad 100644 --- a/addons/l10n_pe/i18n/hu.po +++ b/addons/l10n_pe/i18n/hu.po @@ -10,7 +10,7 @@ msgstr "" "POT-Creation-Date: 2012-11-24 02:53+0000\n" "PO-Revision-Date: 2015-05-18 11:32+0000\n" "Last-Translator: <>\n" -"Language-Team: Hungarian (http://www.transifex.com/projects/p/odoo-8/language/hu/)\n" +"Language-Team: Hungarian (http://www.transifex.com/odoo/odoo-8/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -105,7 +105,7 @@ msgstr "" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_NCLASIFICADO msgid "Cuentas No Clasificadas" -msgstr "" +msgstr "Cuentas No Clasificadas" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_EGP_FU_060 @@ -390,4 +390,4 @@ msgstr "" #. module: l10n_pe #: model:account.account.type,name:l10n_pe.account_account_type_EGP_NA_080 msgid "(+/-) Variación de Envases y Embalajes" -msgstr "" +msgstr "(+/-) Variación de Envases y Embalajes" diff --git a/addons/payment_transfer/i18n/zh_CN.po b/addons/payment_transfer/i18n/zh_CN.po index 66784575b36..396c2c8a665 100644 --- a/addons/payment_transfer/i18n/zh_CN.po +++ b/addons/payment_transfer/i18n/zh_CN.po @@ -3,17 +3,17 @@ # * payment_transfer # # Translators: -# Jeffery Chen Fan , 2015 -# Jeffery Chen Fan , 2015 -# liAnGjiA , 2016 +# Jeffery CHEN , 2015 +# Jeffery CHEN , 2015 +# liAnGjiA , 2016-2017 # mrshelly , 2015 msgid "" msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-12-14 14:52+0000\n" -"PO-Revision-Date: 2016-12-15 09:35+0000\n" -"Last-Translator: Martin Trigaux\n" +"PO-Revision-Date: 2017-01-21 08:24+0000\n" +"Last-Translator: liAnGjiA \n" "Language-Team: Chinese (China) (http://www.transifex.com/odoo/odoo-8/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgid "" "

Communication

\n" "

Please use the order name as communication reference.

\n" "" -msgstr "" +msgstr "
\n

详情请参考

\n

%(bank_title)s

\n%(bank_accounts)s\n

通信

\n

请使用订单名称作为通讯参考。

\n
" #. module: payment_transfer #: model:payment.acquirer,pre_msg:payment_transfer.payment_acquirer_transfer diff --git a/addons/stock_dropshipping/i18n/fr.po b/addons/stock_dropshipping/i18n/fr.po index 974a83bbd84..6f60d110112 100644 --- a/addons/stock_dropshipping/i18n/fr.po +++ b/addons/stock_dropshipping/i18n/fr.po @@ -11,7 +11,7 @@ msgstr "" "POT-Creation-Date: 2015-01-21 14:08+0000\n" "PO-Revision-Date: 2015-06-22 19:38+0000\n" "Last-Translator: Adriana Ierfino \n" -"Language-Team: French (http://www.transifex.com/p/odoo-8/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/odoo/odoo-8/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -21,7 +21,7 @@ msgstr "" #. module: stock_dropshipping #: model:stock.picking.type,name:stock_dropshipping.picking_type_dropship msgid "Dropship" -msgstr "" +msgstr "Livraison directe" #. module: stock_dropshipping #: model:ir.model,name:stock_dropshipping.model_stock_invoice_onshipping diff --git a/addons/web_gantt/i18n/zh_CN.po b/addons/web_gantt/i18n/zh_CN.po index 5bfbdc5634f..a3a01be5642 100644 --- a/addons/web_gantt/i18n/zh_CN.po +++ b/addons/web_gantt/i18n/zh_CN.po @@ -4,15 +4,16 @@ # # Translators: # FIRST AUTHOR , 2014 -# Jeffery Chen Fan , 2015 -# Jeffery Chen Fan , 2015 +# Jeffery CHEN , 2015 +# Jeffery CHEN , 2015 +# liAnGjiA , 2017 msgid "" msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-12-08 09:42+0000\n" -"PO-Revision-Date: 2016-12-09 08:45+0000\n" -"Last-Translator: Martin Trigaux\n" +"PO-Revision-Date: 2017-01-21 08:24+0000\n" +"Last-Translator: liAnGjiA \n" "Language-Team: Chinese (China) (http://www.transifex.com/odoo/odoo-8/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,4 +40,4 @@ msgstr "甘特" #: code:addons/web_gantt/static/src/js/gantt.js:87 #, python-format msgid "Gantt View" -msgstr "" +msgstr "甘特图" diff --git a/addons/website_livechat/i18n/fr.po b/addons/website_livechat/i18n/fr.po index 3ae2a6e4d19..8018e76f9bd 100644 --- a/addons/website_livechat/i18n/fr.po +++ b/addons/website_livechat/i18n/fr.po @@ -4,13 +4,14 @@ # # Translators: # FIRST AUTHOR , 2015 +# Francis Ndong , 2015 msgid "" msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:08+0000\n" -"PO-Revision-Date: 2015-07-17 08:19+0000\n" -"Last-Translator: Martin Trigaux\n" +"PO-Revision-Date: 2015-09-03 15:32+0000\n" +"Last-Translator: Francis Ndong \n" "Language-Team: French (http://www.transifex.com/odoo/odoo-8/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,7 +27,7 @@ msgstr "Canal" #. module: website_livechat #: field:website.config.settings,channel_id:0 msgid "Live Chat Channel" -msgstr "" +msgstr "Canal de discussion instantanée" #. module: website_livechat #: model:ir.model,name:website_livechat.model_website diff --git a/addons/website_report/i18n/fr.po b/addons/website_report/i18n/fr.po index 95478e24cbc..df0f08cdc90 100644 --- a/addons/website_report/i18n/fr.po +++ b/addons/website_report/i18n/fr.po @@ -27,7 +27,7 @@ msgstr "Ajouter une langue..." #. module: website_report #: view:website:website_report.layout msgid "container" -msgstr "" +msgstr "container" #. module: website_report #: view:website:website_report.layout diff --git a/addons/website_sale_delivery/i18n/fr.po b/addons/website_sale_delivery/i18n/fr.po index 2d0b5320269..8ca6a673d01 100644 --- a/addons/website_sale_delivery/i18n/fr.po +++ b/addons/website_sale_delivery/i18n/fr.po @@ -38,12 +38,12 @@ msgstr "Choisissez votre méthode de livraison" #. module: website_sale_delivery #: field:sale.order,amount_delivery:0 msgid "Delivery Amount" -msgstr "" +msgstr "Coût de livraison" #. module: website_sale_delivery #: view:website:website_sale.total msgid "Delivery will be updated after choosing a new delivery method" -msgstr "" +msgstr "Livraison sera mise à jour lorsqu'une nouvelle méthode sera choisie" #. module: website_sale_delivery #: view:website:website_sale.total @@ -53,7 +53,7 @@ msgstr "Livraison :" #. module: website_sale_delivery #: field:delivery.carrier,website_description:0 msgid "Description for the website" -msgstr "" +msgstr "Description pour le site web" #. module: website_sale_delivery #: code:addons/website_sale_delivery/models/sale_order.py:109 @@ -61,7 +61,7 @@ msgstr "" msgid "" "No shipping method is available for your current order and shipping address." " Please contact us for more information." -msgstr "" +msgstr "Il n'y a pas de méthode de livraison disponible pour votre commande et adresse de livraison. S'il vous plaît nous rejoindre pour plus d'informations. " #. module: website_sale_delivery #: model:ir.model,name:website_sale_delivery.model_sale_order @@ -72,7 +72,7 @@ msgstr "Bon de commande" #: code:addons/website_sale_delivery/models/sale_order.py:108 #, python-format msgid "Sorry, we are unable to ship your order" -msgstr "" +msgstr "Désolé, nous ne pouvons pas livrer votre commande" #. module: website_sale_delivery #: help:sale.order,amount_delivery:0 diff --git a/addons/website_sale_delivery/i18n/sl.po b/addons/website_sale_delivery/i18n/sl.po index 1eee9349e9a..a7805b6a3e3 100644 --- a/addons/website_sale_delivery/i18n/sl.po +++ b/addons/website_sale_delivery/i18n/sl.po @@ -60,7 +60,7 @@ msgstr "Opis za spletno stran" msgid "" "No shipping method is available for your current order and shipping address." " Please contact us for more information." -msgstr "" +msgstr "Za ta nalog in naslov odpreme ni na voljo metode odpreme. Stopite v stik z nami za več informacij." #. module: website_sale_delivery #: model:ir.model,name:website_sale_delivery.model_sale_order @@ -71,7 +71,7 @@ msgstr "Prodajni nalog" #: code:addons/website_sale_delivery/models/sale_order.py:108 #, python-format msgid "Sorry, we are unable to ship your order" -msgstr "" +msgstr "Žal vašega naročila nismo mogli odpremiti." #. module: website_sale_delivery #: help:sale.order,amount_delivery:0 diff --git a/addons/website_sale_options/i18n/zh_CN.po b/addons/website_sale_options/i18n/zh_CN.po index 010fa9cbcdc..83f4d428647 100644 --- a/addons/website_sale_options/i18n/zh_CN.po +++ b/addons/website_sale_options/i18n/zh_CN.po @@ -3,9 +3,9 @@ # * website_sale_options # # Translators: -# Jeffery Chen Fan , 2016 -# liAnGjiA , 2015 +# Jeffery CHEN , 2016 # liAnGjiA , 2015 +# liAnGjiA , 2015,2017 # mrshelly , 2015 # liAnGjiA , 2015 msgid "" @@ -13,8 +13,8 @@ msgstr "" "Project-Id-Version: Odoo 8.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-21 14:09+0000\n" -"PO-Revision-Date: 2016-12-06 08:53+0000\n" -"Last-Translator: Martin Trigaux\n" +"PO-Revision-Date: 2017-01-21 08:24+0000\n" +"Last-Translator: liAnGjiA \n" "Language-Team: Chinese (China) (http://www.transifex.com/odoo/odoo-8/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -58,7 +58,7 @@ msgstr "加入购物车" #. module: website_sale_options #: view:website:website_sale_options.modal msgid "Continue Shopping" -msgstr "" +msgstr "继续逛逛" #. module: website_sale_options #: model:product.attribute,name:website_sale_options.product_attribute_1 From 1b9d0fa48136c7b8cdc8ffddd745bb50146ad42a Mon Sep 17 00:00:00 2001 From: Daniel Dico Date: Mon, 23 Jan 2017 11:28:16 -0500 Subject: [PATCH 02/15] [FIX] anonymization: escape table and field name to avoid postgresql reserved keywords. fields like fetchmail_server.user or mail_mail.references uses reserves keywords and must be escaped Closes #15177 --- addons/anonymization/anonymization.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py index 728745354b7..eecea7bcdde 100644 --- a/addons/anonymization/anonymization.py +++ b/addons/anonymization/anonymization.py @@ -399,7 +399,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): table_name = self.pool[model_name]._table # get the current value - sql = "select id, %s from %s" % (field_name, table_name) + sql = "select id, \"%s\" from \"%s\"" % (field_name, table_name) cr.execute(sql) records = cr.dictfetchall() for record in records: @@ -436,7 +436,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): if anonymized_value is None: self._raise_after_history_update(cr, uid, history_id, _('Error !'), _("Anonymized value can not be empty.")) - sql = "update %(table)s set %(field)s = %%(anonymized_value)s where id = %%(id)s" % { + sql = "update \"%(table)s\" set \"%(field)s\" = %%(anonymized_value)s where id = %%(id)s" % { 'table': table_name, 'field': field_name, } From de6c4f7037bd108f5d63cbc1f2af9ae09a896549 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Mon, 23 Jan 2017 17:31:15 +0100 Subject: [PATCH 03/15] [FIX] project: website live chat link in the planners These links are links to the Website live chat app description, not our actual livechat support. Besides, we currently do not make support through the livechat. opw-705614 --- addons/project/web_planner_data.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/addons/project/web_planner_data.xml b/addons/project/web_planner_data.xml index 260b91aad27..e16a53912df 100644 --- a/addons/project/web_planner_data.xml +++ b/addons/project/web_planner_data.xml @@ -246,7 +246,6 @@
Need help with defining your Projects? Contact us now.
- Website Live Chat Email Our Project Expert
@@ -360,7 +359,6 @@
Need help to structure your projects?
- Website Live Chat on
Email Our Project Expert
@@ -569,9 +567,6 @@
Need help with Timesheets management? Contact us now:
- - Website Live Chat on - Email Our Project Expert
@@ -650,7 +645,6 @@ @@ -1046,7 +1040,6 @@ From cb597806ec54d2dd65867ceb4e68cd055a10a02c Mon Sep 17 00:00:00 2001 From: Joren Van Onder Date: Thu, 29 Dec 2016 14:55:05 -0800 Subject: [PATCH 04/15] [FIX] point_of_sale: force numpad to appear next to actionpad The sizes of these UI elements are all fixed and non-responsive and everything is supposed to fit. Currently however Firefox (at least 50.1.0 up to nightly 53.0a1) is computing the width of a
element to be 0.0166626px, forcing the numpad to wrap to the next line. This forces the numpad to be 216px wide (width of 4 buttons at 54px each). --- addons/point_of_sale/static/src/css/pos.css | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/point_of_sale/static/src/css/pos.css b/addons/point_of_sale/static/src/css/pos.css index 26594dd7214..34d1510154f 100644 --- a/addons/point_of_sale/static/src/css/pos.css +++ b/addons/point_of_sale/static/src/css/pos.css @@ -701,6 +701,7 @@ td { display: inline-block; float: right; text-align: center; + width: 216px; margin: 16px; margin-top: 8px; margin-left: 0px; From f0eeed93dc5e8ee8eeb92864c75293de6c082fff Mon Sep 17 00:00:00 2001 From: Joren Van Onder Date: Sat, 21 Jan 2017 20:25:46 -0800 Subject: [PATCH 05/15] [FIX] point_of_sale: scroll contact list in Firefox and Edge The POS uses tables to do some of it's layout. It also sets 'height: 100%' on a lot of these tables in an attempt to restrict their height. The CSS standard however defines the height property on a table as follows: "A value of 'auto' means that the height is the sum of the row heights plus any cell spacing or borders. Any other value is treated as a minimum height." [1] Chrome and Safari seems to handle this height property in a way that it does in fact restrict height. The behavior of Firefox and Edge however is more in line with the spec, and in these browsers table height is not restricted by this property. Because of this the contact list was not scrolleable in those browsers. To resolve this we stop relying on non-standard behavior by displaying the relevant contact list elements as regular block elements. Additionally, we now have to recompute the height of the client list whenever we show/hide the client details, something that wasn't necessary before. [1] https://www.w3.org/TR/CSS21/tables.html#height-layout Fixes #11020 --- addons/point_of_sale/static/src/css/pos.css | 13 +++++++++++++ addons/point_of_sale/static/src/js/screens.js | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/addons/point_of_sale/static/src/css/pos.css b/addons/point_of_sale/static/src/css/pos.css index 34d1510154f..35baed75ba6 100644 --- a/addons/point_of_sale/static/src/css/pos.css +++ b/addons/point_of_sale/static/src/css/pos.css @@ -213,6 +213,19 @@ td { position: relative; } +.pos .clientlist-screen .window, +.pos .clientlist-screen .full-content .subwindow{ + display: block; +} +.pos .clientlist-screen .full-content .subwindow-container{ + display: block; + height: 100%; +} +.pos .clientlist-screen .full-content .subwindow.collapsed, +.pos .clientlist-screen .full-content .subwindow-container.collapsed{ + height: auto; +} + /* ---- Scrollers ----- */ .pos .scroller-container{ diff --git a/addons/point_of_sale/static/src/js/screens.js b/addons/point_of_sale/static/src/js/screens.js index a559ea7e7cc..6221180f271 100644 --- a/addons/point_of_sale/static/src/js/screens.js +++ b/addons/point_of_sale/static/src/js/screens.js @@ -1299,6 +1299,9 @@ var ClientListScreenWidget = ScreenWidget.extend({ var new_height = contents.height(); if(!this.details_visible){ + // resize client list to take into account client details + parent.height('-=' + new_height); + if(clickpos < scroll + new_height + 20 ){ parent.scrollTop( clickpos - 20 ); }else{ @@ -1328,6 +1331,7 @@ var ClientListScreenWidget = ScreenWidget.extend({ }); } else if (visibility === 'hide') { contents.empty(); + parent.height('100%'); if( height > scroll ){ contents.css({height:height+'px'}); contents.animate({height:0},400,function(){ From 5ce83b872c1e9683a079c5be0f46692bac269fcf Mon Sep 17 00:00:00 2001 From: Joren Van Onder Date: Fri, 20 Jan 2017 16:39:41 -0800 Subject: [PATCH 06/15] [FIX] point_of_sale: avoid scrollbar on main window Scrollbar appeared in Firefox (at least 50.1.0 and up). Related to depending on non-standard behavior when setting height on a table. For a detailed explanation see f0eeed93dc5e8ee8eeb92864c75293de6c082fff. In this case we can simply ignore overflow on the main POS window since the height difference introduced is only a couple of pixels. --- addons/point_of_sale/static/src/css/pos.css | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/point_of_sale/static/src/css/pos.css b/addons/point_of_sale/static/src/css/pos.css index 35baed75ba6..031eef5dfa3 100644 --- a/addons/point_of_sale/static/src/css/pos.css +++ b/addons/point_of_sale/static/src/css/pos.css @@ -189,6 +189,7 @@ td { height: 100%; display: table; border: none; + overflow: hidden; } .pos .window .subwindow{ display: table-row; From 94807753e7b3a03c94dc6753079851f800c14050 Mon Sep 17 00:00:00 2001 From: Daniel Dico Date: Tue, 24 Jan 2017 04:32:03 -0500 Subject: [PATCH 07/15] [FIX] anonymization: escape table and field names Same as 1b9d0fa48136c7b8cdc8ffddd745bb50146ad42a Closes #15187 --- addons/anonymization/anonymization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py index eecea7bcdde..c4ef22f8a80 100644 --- a/addons/anonymization/anonymization.py +++ b/addons/anonymization/anonymization.py @@ -544,7 +544,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory): custom_updates.sort(key=itemgetter('sequence')) queries = [(record['query'], record['query_type']) for record in custom_updates if record['query_type']] elif table_name: - queries = [("update %(table)s set %(field)s = %%(value)s where id = %%(id)s" % { + queries = [("update \"%(table)s\" set \"%(field)s\" = %%(value)s where id = %%(id)s" % { 'table': table_name, 'field': line['field_id'], }, 'sql')] From 1aa7af230fa36dd104ca1c4c78a42186413da7fb Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Tue, 24 Jan 2017 13:09:26 +0100 Subject: [PATCH 08/15] [FIX] website_sale: Last Online SO - Log in on the eCommerce - Add a product in the cart - Log out - Log in again The previous cart is not retrieved, and a new one is created. opw-704646 --- addons/website_sale/models/sale_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index a423e55b6af..a9d5fcd41a4 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -330,7 +330,7 @@ class Website(models.Model): request.session['sale_order_id'] = sale_order.id if request.website.partner_id.id != partner.id: - partner.write({'last_website_so_id': sale_order_id}) + partner.write({'last_website_so_id': sale_order.id}) if sale_order: From d0ea652221731df119e60d9032b08fda1e9bf817 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Wed, 11 Jan 2017 17:52:18 +0100 Subject: [PATCH 09/15] [FIX] portal: set a company for portal without one The field company_id is not required on the res.partner and is used when the portal user is created for portal access. If the partner as no comapny set, the creation crashes (required on the user). Use system default company, with possibility for overwrite. Closes #15030 --- addons/portal/wizard/portal_wizard.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/portal/wizard/portal_wizard.py b/addons/portal/wizard/portal_wizard.py index 27bc21835e5..ebd34af2b02 100644 --- a/addons/portal/wizard/portal_wizard.py +++ b/addons/portal/wizard/portal_wizard.py @@ -141,7 +141,10 @@ class wizard_user(osv.osv_memory): user_id = False # create a user if necessary, and make sure it is in the portal group if not user: - company_id = wizard_user.partner_id.company_id.id + if wizard_user.partner_id.company_id: + company_id = wizard_user.partner_id.company_id.id + else: + company_id = self.pool['res.company']._company_default_get(cr, uid, 'res.users', context=context) user_id = self._create_user(cr, SUPERUSER_ID, wizard_user.id, dict(context, company_id=company_id)) else: user_id = user.id From b4c3ac8d48df798cb4bf633dcc7175399604d02c Mon Sep 17 00:00:00 2001 From: "Hoang, Diep Huu" Date: Tue, 24 Jan 2017 16:53:15 +0700 Subject: [PATCH 10/15] [CLA] signature for anothingguy Backport of 2cf3381b to 9.0 as expressed in #13971 --- doc/cla/individual/anothingguy.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 doc/cla/individual/anothingguy.md diff --git a/doc/cla/individual/anothingguy.md b/doc/cla/individual/anothingguy.md new file mode 100644 index 00000000000..496f7a2b0e8 --- /dev/null +++ b/doc/cla/individual/anothingguy.md @@ -0,0 +1,11 @@ +Vietnam, 2016-10-14 + +I hereby agree to the terms of the Odoo Individual Contributor License +Agreement v1.0. + +I declare that I am authorized and able to make this agreement and sign this +declaration. + +Signed, + +Hoang Diep Huu mr.diephuuhoang@gmail.com https://github.com/anothingguy From 333f012e25e454442b1bca3f55403507f4a4924d Mon Sep 17 00:00:00 2001 From: sergio Date: Tue, 24 Jan 2017 15:18:20 +0100 Subject: [PATCH 11/15] [CLA] signature for sergiocorato Done at #15204 --- doc/cla/individual/sergiocorato.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/cla/individual/sergiocorato.md diff --git a/doc/cla/individual/sergiocorato.md b/doc/cla/individual/sergiocorato.md new file mode 100644 index 00000000000..5ac26c3f7ea --- /dev/null +++ b/doc/cla/individual/sergiocorato.md @@ -0,0 +1,9 @@ +Italy, 2017-01-24 + +I hereby agree to the terms of the Odoo Individual Contributor License Agreement v1.0. + +I declare that I am authorized and able to make this agreement and sign this declaration. + +Signed, + +Sergio Corato sergiocorato@gmail.com https://github.com/sergiocorato From 28ec23e828139516db3a0f7ef223e4ee13bdd110 Mon Sep 17 00:00:00 2001 From: sergio Date: Tue, 24 Jan 2017 15:12:24 +0100 Subject: [PATCH 12/15] [FIX] account: fallback on missing template template contains the mail template to render and is the result of the call to `self.env.ref('account.email_template_edi_invoice', False)` If the template does not exists (deleted), template is `None` and the action rendering crashes. While it is not recommended to delete master data, it is still possible to use custom mail templates. Closes #15204 --- addons/account/account_invoice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 9f4ee6c7811..2e48a12f70d 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -395,7 +395,7 @@ class account_invoice(models.Model): default_model='account.invoice', default_res_id=self.id, default_use_template=bool(template), - default_template_id=template.id, + default_template_id=template and template.id or False, default_composition_mode='comment', mark_invoice_as_sent=True, ) From 9d535ee2c78d527a8365a64776b1865709469278 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Tue, 24 Jan 2017 13:26:22 +0100 Subject: [PATCH 13/15] [FIX] mail: check all parameters are set Since `model` is not a required field, the invalidation may crash when one is missing. It should never happen than a mail.message has a res_id but not a model as it makes no business sence. However it is possible than a message temporarly misses one of the two, e.g: ``` self.model = False self.res_id = False ``` will trigger two writes and will crash at the first. Above code should probably be refactored to have only one write but this commit fixes a regression introduced at 8f1c2bfc (the above code did not crash). Closes #15199 --- 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 ac68a4bfd7f..d3eebeb1af0 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -795,7 +795,7 @@ class mail_message(osv.Model): def _invalidate_documents(self): """ Invalidate the cache of the documents followed by ``self``. """ for record in self: - if record.res_id: + if record.model and record.res_id: self.env[record.model].invalidate_cache(ids=[record.res_id]) def create(self, cr, uid, values, context=None): From 1d089833b47fe740d6dfaea89f94b1c9d1946c1e Mon Sep 17 00:00:00 2001 From: andreparames Date: Tue, 24 Jan 2017 17:07:38 +0000 Subject: [PATCH 14/15] [FIX] init: enable evented based on socket Don't enable evented mode unless gevent is enabled. Previous code was activating evented mode as soon as gevent is imported which may happen in different scenario but is not enough to assume the GeventServer is actually running. Closes #13463 --- openerp/__init__.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/openerp/__init__.py b/openerp/__init__.py index 5bb2fd18611..d31eb04d654 100644 --- a/openerp/__init__.py +++ b/openerp/__init__.py @@ -6,11 +6,17 @@ #---------------------------------------------------------- # Running mode flags (gevent, prefork) #---------------------------------------------------------- -# Is the server running with gevent. -import sys -evented = False -if sys.modules.get("gevent") is not None: - evented = True +def is_server_running_with_gevent(): + import sys + if sys.modules.get("gevent") is not None: + import socket + import gevent.socket + if socket.socket is gevent.socket.socket: + # gevent is loaded and activated + return True + return False + +evented = is_server_running_with_gevent() # Is the server running in pefork mode (e.g. behind Gunicorn). # If this is True, the processes have to communicate some events, From f23394b83a84791a38d7867560da78a02c94f604 Mon Sep 17 00:00:00 2001 From: Pierre Masereel Date: Tue, 24 Jan 2017 16:53:51 +0100 Subject: [PATCH 15/15] [FIX] stock: stock_inventory_line onchange product If you make an inventory adjustement in mode 'select products manually' and you add a new line with a product having a different unit of mesure than the default one, but in the same unit of mesure category than the default one, the unit of mesure on the line doesn't change because both are in the same category. This bug is caused by an 'onchange' which is triggered when the 'product_id' or 'product_uom_id' has been changed. And so we cannot force to change the value to the product one, because we should still be able to make an inventory in 'kg', if the unit of mesure is in 'g'. So to fix this bug, we have set the 'onchange' only on the product_id to set the unit of mesure set on the product when we create a new line or change the product of a line. We removed the onchange ont the unit of mesure, because it was only checking that the unit of mesure is in the category of the product unit of mesure category, but it's always true has there is a domain set on the field unit on mesure by the onchange on product_id --- addons/stock/models/stock_inventory.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/stock/models/stock_inventory.py b/addons/stock/models/stock_inventory.py index a3a16bdf895..c3ffeb152de 100644 --- a/addons/stock/models/stock_inventory.py +++ b/addons/stock/models/stock_inventory.py @@ -274,11 +274,11 @@ class InventoryLine(models.Model): theoretical_qty = self.env["product.uom"]._compute_qty_obj(self.product_id.uom_id, theoretical_qty, self.product_uom_id) self.theoretical_qty = theoretical_qty - @api.onchange('product_id', 'product_uom_id') - def onchange_product_or_uom(self): + @api.onchange('product_id') + def onchange_product(self): res = {} # If no UoM or incorrect UoM put default one from product - if self.product_id and (not self.product_uom_id or self.product_id.uom_id.category_id != self.product_uom_id.category_id): + if self.product_id: self.product_uom_id = self.product_id.uom_id res['domain'] = {'product_uom_id': [('category_id', '=', self.product_id.uom_id.category_id.id)]} return res