diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 205c3c0c465..8fbac605546 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -3877,7 +3877,7 @@ class stock_warehouse(osv.osv): for pull in route.pull_ids: pull_obj.write(cr, uid, pull.id, {'name': pull.name.replace(warehouse.name, name, 1)}, context=context) for push in route.push_ids: - push_obj.write(cr, uid, push.id, {'name': pull.name.replace(warehouse.name, name, 1)}, context=context) + push_obj.write(cr, uid, push.id, {'name': push.name.replace(warehouse.name, name, 1)}, context=context) #change the mto procurement rule name if warehouse.mto_pull_id.id: pull_obj.write(cr, uid, warehouse.mto_pull_id.id, {'name': warehouse.mto_pull_id.name.replace(warehouse.name, name, 1)}, context=context) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index acdffa7dba5..7001a4d30d0 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -1054,5 +1054,5 @@ class website_sale(http.Controller): pricelist_id = request.website.get_current_pricelist(context=context).id else: pricelist_id = partner.property_product_pricelist.id - prices = pool['product.pricelist'].price_rule_get_multi(cr, uid, [], [(product, add_qty, partner) for product in products], context=context) + prices = pool['product.pricelist'].price_rule_get_multi(cr, uid, [pricelist_id], [(product, add_qty, partner) for product in products], context=context) return {product_id: prices[product_id][pricelist_id][0] for product_id in product_ids} diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index 122c87f89ce..ce13618ce3d 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -1173,11 +1173,15 @@ consteq = getattr(passlib.utils, 'consteq', _consteq) class Pickle(object): @classmethod - def load(cls, stream): + def load(cls, stream, errors=False): unpickler = cPickle.Unpickler(stream) # pickle builtins: str/unicode, int/long, float, bool, tuple, list, dict, None unpickler.find_global = None - return unpickler.load() + try: + return unpickler.load() + except Exception: + _logger.warning('Failed unpickling data, returning default: %r', errors, exc_info=True) + return errors @classmethod def loads(cls, text):