summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-03-22 14:13:59 +0100
committerChristophe Simonis <chs@odoo.com>2018-03-22 14:13:59 +0100
commit3fce2b769e62bc9d11710f4a3fd550c493a55262 (patch)
tree93913f1a5b4d65b6427508a86aac899186c63b7a /addons
parent7a45296cf1a1643de6b2a114e535bc167364498e (diff)
parentd8c6e569759b14a8e8033726e6baca5a01af6f56 (diff)
[MERGE] forward port branch saas-14 up to d8c6e569759
Diffstat (limited to 'addons')
-rw-r--r--addons/stock/models/stock_move.py2
-rw-r--r--addons/stock_account/models/product.py4
-rw-r--r--addons/web/controllers/main.py8
-rw-r--r--addons/web/static/src/js/views/form_relational_widgets.js5
4 files changed, 11 insertions, 8 deletions
diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py
index a5b031f8205..494c6ead071 100644
--- a/addons/stock/models/stock_move.py
+++ b/addons/stock/models/stock_move.py
@@ -994,7 +994,7 @@ class StockMove(models.Model):
'views': [(view.id, 'form')],
'view_id': view.id,
'target': 'new',
- 'res_id': self.id}
+ 'res_id': self.picking_id.id}
show_picking = action_show_picking
# Quants management
diff --git a/addons/stock_account/models/product.py b/addons/stock_account/models/product.py
index 6707c437c68..bb04c02903d 100644
--- a/addons/stock_account/models/product.py
+++ b/addons/stock_account/models/product.py
@@ -201,8 +201,8 @@ class ProductProduct(models.Model):
@api.model
def _get_anglo_saxon_price_unit(self, uom=False):
price = self.standard_price
- if not uom or self.uom_id.id == uom.id:
- return price
+ if not self or not uom or self.uom_id.id == uom.id:
+ return price or 0.0
return self.uom_id._compute_price(price, uom)
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py
index f516c2ea1a1..e19ae3be0bb 100644
--- a/addons/web/controllers/main.py
+++ b/addons/web/controllers/main.py
@@ -40,6 +40,7 @@ from odoo.http import content_disposition, dispatch_rpc, request, \
from odoo.exceptions import AccessError, UserError
from odoo.models import check_method_name
from odoo.service import db
+from odoo.service.report import exp_report, exp_report_get
_logger = logging.getLogger(__name__)
@@ -1483,14 +1484,11 @@ class Reports(http.Controller):
report_ids = action['datas'].pop('ids')
report_data.update(action['datas'])
- report_id = dispatch_rpc('report', 'report', [
- request.session.db, request.session.uid, request.session.password,
- action["report_name"], report_ids, report_data, context])
+ report_id = exp_report(request.session.db, request.session.uid, action["report_name"], report_ids, report_data, context)
report_struct = None
while True:
- report_struct = dispatch_rpc('report', 'report_get', [
- request.session.db, request.session.uid, request.session.password, report_id])
+ report_struct = exp_report_get(request.session.db, request.session.uid, report_id)
if report_struct["state"]:
break
diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js
index c82b33cb910..19307cb67b7 100644
--- a/addons/web/static/src/js/views/form_relational_widgets.js
+++ b/addons/web/static/src/js/views/form_relational_widgets.js
@@ -1118,6 +1118,11 @@ var One2ManyListView = X2ManyListView.extend({
self.x2m.reload_current_view();
});
},
+ create_function: function(data, options) {
+ return self.x2m.data_create(data, options).done(function() {
+ self.x2m.reload_current_view();
+ });
+ },
alternative_form_view: self.x2m.field.views ? self.x2m.field.views.form : undefined,
parent_view: self.x2m.view,
child_name: self.x2m.name,