[MERGE] forward port branch 9.0 up to e0fbe7b5be
This commit is contained in:
@@ -1475,7 +1475,7 @@ exports.Orderline = Backbone.Model.extend({
|
||||
var recompute_base = function(base_amount, fixed_amount, percent_amount){
|
||||
if(fixed_amount === 0.0 && percent_amount === 0.0)
|
||||
return base_amount;
|
||||
return round_pr((base_amount - fixed_amount) / (1.0 + percent_amount / 100.0), currency_rounding);
|
||||
return (base_amount - fixed_amount) / (1.0 + percent_amount / 100.0);
|
||||
}
|
||||
|
||||
// 4) Iterate the taxes in the reversed sequence order to retrieve the initial base of the computation.
|
||||
@@ -1529,7 +1529,6 @@ exports.Orderline = Backbone.Model.extend({
|
||||
|
||||
taxes_vals.push(tax_vals);
|
||||
});
|
||||
|
||||
return {
|
||||
taxes: taxes_vals,
|
||||
total_excluded: round_pr(total_excluded, currency_rounding_bak),
|
||||
|
||||
@@ -578,6 +578,28 @@ var RTE = Widget.extend({
|
||||
_.defer(function () {
|
||||
self.historyRecordUndo($target, 'activate', true);
|
||||
});
|
||||
|
||||
// To Fix Google Chrome Tripleclick Issue, which selects the ending
|
||||
// whitespace characters (so Tripleclicking then typing text will remove
|
||||
// the whole paragraph instead of its content).
|
||||
// http://stackoverflow.com/questions/38467334/why-does-google-chrome-always-add-space-after-selected-text
|
||||
if ($.browser.chrome === true && event.originalEvent.detail === 3) {
|
||||
var currentSelection = range.create();
|
||||
if (currentSelection.sc.parentNode === currentSelection.ec) {
|
||||
_selectSC(currentSelection);
|
||||
} else if (currentSelection.eo === 0) {
|
||||
var $hasNext = $(currentSelection.sc).parent();
|
||||
while (!$hasNext.next().length && !$hasNext.is('body')) {
|
||||
$hasNext = $hasNext.parent();
|
||||
}
|
||||
if ($hasNext.next()[0] === currentSelection.ec) {
|
||||
_selectSC(currentSelection);
|
||||
}
|
||||
}
|
||||
}
|
||||
function _selectSC(selection) {
|
||||
range.create(selection.sc, selection.so, selection.sc, selection.sc.length).select();
|
||||
}
|
||||
},
|
||||
|
||||
editable: function () {
|
||||
|
||||
@@ -6,9 +6,10 @@ var ajax = require('web.ajax');
|
||||
$(document).ready(function () {
|
||||
// If option is enable
|
||||
if ($("#checkbox_cgv").length) {
|
||||
$("#checkbox_cgv").click(function() {
|
||||
$("#checkbox_cgv").change(function() {
|
||||
$("div.oe_sale_acquirer_button").find('input, button').prop("disabled", !this.checked);
|
||||
});
|
||||
$('#checkbox_cgv').trigger('change');
|
||||
}
|
||||
|
||||
// When choosing an acquirer, display its Pay Now button
|
||||
|
||||
@@ -721,6 +721,30 @@ class TestFields(common.TransactionCase):
|
||||
self.assertEqual(len(discussion.important_messages), 2)
|
||||
self.assertEqual(len(discussion.very_important_messages), 2)
|
||||
|
||||
def test_70_x2many_write(self):
|
||||
discussion = self.env.ref('test_new_api.discussion_0')
|
||||
Message = self.env['test_new_api.message']
|
||||
# There must be 3 messages, 0 important
|
||||
self.assertEqual(len(discussion.messages), 3)
|
||||
self.assertEqual(len(discussion.important_messages), 0)
|
||||
self.assertEqual(len(discussion.very_important_messages), 0)
|
||||
discussion.important_messages = [(0, 0, {
|
||||
'body': 'What is the answer?',
|
||||
'important': True,
|
||||
})]
|
||||
# There must be 4 messages, 1 important
|
||||
self.assertEqual(len(discussion.messages), 4)
|
||||
self.assertEqual(len(discussion.important_messages), 1)
|
||||
self.assertEqual(len(discussion.very_important_messages), 1)
|
||||
discussion.very_important_messages |= Message.new({
|
||||
'body': '42',
|
||||
'important': True,
|
||||
})
|
||||
# There must be 5 messages, 2 important
|
||||
self.assertEqual(len(discussion.messages), 5)
|
||||
self.assertEqual(len(discussion.important_messages), 2)
|
||||
self.assertEqual(len(discussion.very_important_messages), 2)
|
||||
|
||||
|
||||
class TestHtmlField(common.TransactionCase):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user