diff --git a/addons/anonymization/anonymization.py b/addons/anonymization/anonymization.py
index c4ef22f8a80..e38a2c4f8c4 100644
--- a/addons/anonymization/anonymization.py
+++ b/addons/anonymization/anonymization.py
@@ -4,14 +4,11 @@
from lxml import etree
import os
import base64
-try:
- import cPickle as pickle
-except ImportError:
- import pickle
import random
import datetime
from openerp.release import version_info
from openerp.osv import fields, osv
+from openerp.tools import pickle
from openerp.tools.translate import _
from openerp.tools.safe_eval import safe_eval as eval
@@ -447,7 +444,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
# save pickle:
fn = open(abs_filepath, 'w')
- pickle.dump(data, fn, pickle.HIGHEST_PROTOCOL)
+ pickle.dump(data, fn, -1)
# update the anonymization fields:
values = {
diff --git a/addons/auth_oauth/res_users.py b/addons/auth_oauth/res_users.py
index f277a6c5fc0..86328a56da2 100644
--- a/addons/auth_oauth/res_users.py
+++ b/addons/auth_oauth/res_users.py
@@ -10,6 +10,9 @@ from openerp.addons.auth_signup.models.res_partner import SignupError
from openerp.osv import osv, fields
from openerp import SUPERUSER_ID
+from openerp.addons.base.res import res_users
+res_users.USER_PRIVATE_FIELDS.append('oauth_access_token')
+
_logger = logging.getLogger(__name__)
class res_users(osv.Model):
diff --git a/addons/l10n_fr_certification/models/account.py b/addons/l10n_fr_certification/models/account.py
index 8d1a26d0ad6..ecb0f5aff8b 100644
--- a/addons/l10n_fr_certification/models/account.py
+++ b/addons/l10n_fr_certification/models/account.py
@@ -16,8 +16,8 @@ LINE_FIELDS = ['debit', 'credit', 'account_id', 'move_id', 'partner_id']
class AccountMove(models.Model):
_inherit = "account.move"
- l10n_fr_secure_sequence_number = fields.Integer(readonly=True)
- l10n_fr_hash = fields.Char(readonly=True)
+ l10n_fr_secure_sequence_number = fields.Integer(readonly=True, copy=False)
+ l10n_fr_hash = fields.Char(readonly=True, copy=False)
l10n_fr_string_to_hash = fields.Char(compute='_compute_string_to_hash', readonly=True, store=False)
def _get_new_hash(self, secure_seq_number):
diff --git a/addons/point_of_sale/tools/posbox/overwrite_after_init/etc/xdg/openbox/autostart b/addons/point_of_sale/tools/posbox/overwrite_after_init/etc/xdg/openbox/autostart
index e2b61e2f591..15908b4c5aa 100755
--- a/addons/point_of_sale/tools/posbox/overwrite_after_init/etc/xdg/openbox/autostart
+++ b/addons/point_of_sale/tools/posbox/overwrite_after_init/etc/xdg/openbox/autostart
@@ -3,4 +3,11 @@ xset s off
xset -dpms
export HOME=/tmp
-/usr/bin/firefox http://localhost:8069/point_of_sale/display &
+
+DISPLAY_URL='http://localhost:8069/point_of_sale/display'
+
+# wait until odoo is ready, otherwise you will have to plug a
+# keyboard into the posbox just to refresh firefox
+until wget -q "${DISPLAY_URL}" -O /dev/null ; do sleep 1 ; done
+
+/usr/bin/firefox "${DISPLAY_URL}" &
diff --git a/addons/point_of_sale/views/pos_order_view.xml b/addons/point_of_sale/views/pos_order_view.xml
index 560b31b3100..3a64d07ee4e 100644
--- a/addons/point_of_sale/views/pos_order_view.xml
+++ b/addons/point_of_sale/views/pos_order_view.xml
@@ -29,7 +29,7 @@