summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-09-14 11:56:05 +0200
committerChristophe Simonis <chs@odoo.com>2016-09-14 11:56:05 +0200
commitfa7430c157a095d2a779245cefa704e63f2ffde1 (patch)
tree0775ac60b058712f58148390e2bfbd5c581f35b6 /addons
parent874fb705433a88166b8e4f7ca725db2d51969681 (diff)
parent5be40868b1172131b8109a3de19f31266eecf0e2 (diff)
[MERGE] forward port branch 9.0 up to 5be4086
Diffstat (limited to 'addons')
-rw-r--r--addons/account/models/account_invoice.py7
-rw-r--r--addons/hr_expense/models/hr_expense.py2
-rw-r--r--addons/payment_paypal/controllers/main.py2
-rw-r--r--addons/web_editor/static/src/js/snippets.editor.js30
-rw-r--r--addons/website_portal/controllers/main.py2
5 files changed, 25 insertions, 18 deletions
diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py
index ab6f1c65e18..966a7e08033 100644
--- a/addons/account/models/account_invoice.py
+++ b/addons/account/models/account_invoice.py
@@ -1273,9 +1273,10 @@ class AccountInvoiceTax(models.Model):
base = 0.0
for line in tax.invoice_id.invoice_line_ids:
if tax.tax_id in line.invoice_line_tax_ids:
- base += line.price_subtotal
- # To add include base amount taxes
- base += sum((line.invoice_line_tax_ids.filtered(lambda t: t.include_base_amount) - tax.tax_id).mapped('amount'))
+ price_unit = line.price_unit * (1 - (line.discount or 0.0) / 100.0)
+ base += (line.invoice_line_tax_ids - tax.tax_id).compute_all(
+ price_unit, line.invoice_id.currency_id, line.quantity, line.product_id, line.invoice_id.partner_id
+ )['base']
tax.base = base
invoice_id = fields.Many2one('account.invoice', string='Invoice', ondelete='cascade', index=True)
diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py
index d9d751ed219..01ca6364ee9 100644
--- a/addons/hr_expense/models/hr_expense.py
+++ b/addons/hr_expense/models/hr_expense.py
@@ -89,7 +89,7 @@ class HrExpense(models.Model):
user_ids.append(employee.parent_id.user_id.id)
if employee.department_id and employee.department_id.manager_id and employee.parent_id != employee.department_id.manager_id:
user_ids.append(employee.department_id.manager_id.user_id.id)
- self.message_subscribe_users(user_ids=user_ids)
+ self.sudo().message_subscribe_users(user_ids=user_ids)
@api.model
def create(self, vals):
diff --git a/addons/payment_paypal/controllers/main.py b/addons/payment_paypal/controllers/main.py
index 0048c3ffb26..f840a33d6eb 100644
--- a/addons/payment_paypal/controllers/main.py
+++ b/addons/payment_paypal/controllers/main.py
@@ -65,7 +65,7 @@ class PaypalController(http.Controller):
self.paypal_validate_data(**post)
return ''
- @http.route('/payment/paypal/dpn', type='http', auth="none", methods=['POST'], csrf=False)
+ @http.route('/payment/paypal/dpn', type='http', auth="none", methods=['POST', 'GET'], csrf=False)
def paypal_dpn(self, **post):
""" Paypal DPN """
_logger.info('Beginning Paypal DPN form_feedback with post data %s', pprint.pformat(post)) # debug
diff --git a/addons/web_editor/static/src/js/snippets.editor.js b/addons/web_editor/static/src/js/snippets.editor.js
index ef033dc07f3..cd03cb70f6a 100644
--- a/addons/web_editor/static/src/js/snippets.editor.js
+++ b/addons/web_editor/static/src/js/snippets.editor.js
@@ -620,7 +620,7 @@ var BuildingBlock = Widget.extend({
animation.start(true, $target);
self.call_for_all_snippets($target, function (editor, $snippet) {
- editor.drop_and_build_snippet();
+ _.defer(function () { editor.drop_and_build_snippet(); });
});
self.create_snippet_editor($target);
self.cover_target($target.data('overlay'), $target);
@@ -640,12 +640,10 @@ var BuildingBlock = Widget.extend({
var self = this;
$snippet.add(globalSelector.all($snippet)).each(function () {
var $snippet = $(this);
- setTimeout(function () {
- self.create_snippet_editor($snippet);
- if ($snippet.data("snippet-editor")) {
- callback.call(self, $snippet.data("snippet-editor"), $snippet);
- }
- });
+ self.create_snippet_editor($snippet);
+ if ($snippet.data("snippet-editor")) {
+ callback.call(self, $snippet.data("snippet-editor"), $snippet);
+ }
});
},
@@ -918,17 +916,25 @@ var Editor = Class.extend({
},
_drag_and_drop_stop: function () {
var self = this;
- var $dropzone = this.$target.prev();
- var prev = $dropzone.length && $dropzone[0].previousSibling;
+
+ $(".oe_drop_zone").droppable('destroy').remove();
+
+ var prev = this.$target.first()[0].previousSibling;
var next = this.$target.last()[0].nextSibling;
var $parent = this.$target.parent();
- $(".oe_drop_clone").after(this.$target);
+ var $clone = $(".oe_drop_clone");
+ if (prev === $clone[0]) {
+ prev = $clone[0].previousSibling;
+ } else if (next === $clone[0]) {
+ next = $clone[0].nextSibling;
+ }
+ $clone.after(this.$target);
this.$overlay.removeClass("hidden");
$("body").removeClass('move-important');
- $('.oe_drop_zone').droppable('destroy').remove();
- $(".oe_drop_clone, .oe_drop_to_remove").remove();
+ $clone.remove();
+ $(".oe_drop_to_remove").remove();
if (this.dropped) {
this.buildingBlock.parent.rte.historyRecordUndo(this.$target);
diff --git a/addons/website_portal/controllers/main.py b/addons/website_portal/controllers/main.py
index cf8e818fc3b..87ba93a68b0 100644
--- a/addons/website_portal/controllers/main.py
+++ b/addons/website_portal/controllers/main.py
@@ -46,7 +46,7 @@ class website_account(http.Controller):
'country_id': post.pop('country_id'),
'state_id': post.pop('state_id')
}
- partner.commercial_partner_id.write(address_fields)
+ partner.commercial_partner_id.sudo().write(address_fields)
partner.sudo().write(post)
if redirect:
return request.redirect(redirect)