summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-08-28 12:13:05 +0200
committerChristophe Simonis <chs@odoo.com>2017-08-28 12:13:05 +0200
commite18fe88751ce04438d1bec5fc6cefee6acd61b93 (patch)
tree41d92f152c9ed560a6f38f38578e80119ca76dc7 /addons
parentf8bf335aea42e2390559073337c525fbbb902fc4 (diff)
parent22eb3ee971bb6e0ee5a13ba2c347cf2e3c2984fb (diff)
[MERGE] forward port branch 10.0 up to 22eb3ee971b
Diffstat (limited to 'addons')
-rw-r--r--addons/board/static/src/less/dashboard.less5
-rw-r--r--addons/hr_payroll/views/hr_payroll_views.xml1
-rw-r--r--addons/point_of_sale/static/src/js/models.js3
-rw-r--r--addons/project/report/project_report.py2
-rw-r--r--addons/stock/models/procurement.py2
-rw-r--r--addons/stock/report/report_deliveryslip.xml7
-rw-r--r--addons/web/static/src/js/views/form_common.js13
-rw-r--r--addons/web/static/src/js/views/form_relational_widgets.js12
-rw-r--r--addons/web_kanban/static/src/js/kanban_column.js7
9 files changed, 43 insertions, 9 deletions
diff --git a/addons/board/static/src/less/dashboard.less b/addons/board/static/src/less/dashboard.less
index b0b41e65e34..f12cadf75fa 100644
--- a/addons/board/static/src/less/dashboard.less
+++ b/addons/board/static/src/less/dashboard.less
@@ -114,6 +114,11 @@
.o_kanban_view .o_kanban_record .oe_kanban_list_many2many .o_form_field_many2manytags {
border: none;
}
+
+ // Override height of graph. min-height doesn't do the trick
+ .o_graph {
+ height: 500px;
+ }
}
}
}
diff --git a/addons/hr_payroll/views/hr_payroll_views.xml b/addons/hr_payroll/views/hr_payroll_views.xml
index 55600f3f27b..c236ffcc029 100644
--- a/addons/hr_payroll/views/hr_payroll_views.xml
+++ b/addons/hr_payroll/views/hr_payroll_views.xml
@@ -507,6 +507,7 @@
<form string="Contribution">
<group>
<field name="name"/>
+ <field name="partner_id"/>
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" class="oe_inline"/>
</group>
<newline/>
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js
index 84f033b0483..9b222f12922 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -1428,6 +1428,9 @@ exports.Orderline = Backbone.Model.extend({
if (!no_map_tax){
tax = self._map_tax_fiscal_position(tax);
}
+ if (!tax){
+ return;
+ }
if (tax.amount_type === 'group'){
var ret = self.compute_all(tax.children_tax_ids, price_unit, quantity, currency_rounding);
total_excluded = ret.total_excluded;
diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py
index b95293d61cb..3bfea5e33c5 100644
--- a/addons/project/report/project_report.py
+++ b/addons/project/report/project_report.py
@@ -57,7 +57,7 @@ class ReportProjectTaskUser(models.Model):
t.partner_id,
t.stage_id as stage_id,
t.kanban_state as state,
- (extract('epoch' from (t.write_date-t.create_date)))/(3600*24) as closing_days,
+ (extract('epoch' from (NULLIF(t.date_end, t.write_date)-t.create_date)))/(3600*24) as closing_days,
(extract('epoch' from (t.date_start-t.create_date)))/(3600*24) as opening_days,
(extract('epoch' from (t.date_deadline-(now() at time zone 'UTC'))))/(3600*24) as delay_endings_days
"""
diff --git a/addons/stock/models/procurement.py b/addons/stock/models/procurement.py
index d8093fe068b..9f7f97ffdd0 100644
--- a/addons/stock/models/procurement.py
+++ b/addons/stock/models/procurement.py
@@ -153,7 +153,7 @@ class ProcurementOrder(models.Model):
qty_done = sum(self.move_ids.filtered(lambda move: move.state == 'done').mapped('product_uom_qty'))
qty_left = max(self.product_qty - qty_done, 0)
return {
- 'name': self.name,
+ 'name': self.name[:2000],
'company_id': self.rule_id.company_id.id or self.rule_id.location_src_id.company_id.id or self.rule_id.location_id.company_id.id or self.company_id.id,
'product_id': self.product_id.id,
'product_uom': self.product_uom.id,
diff --git a/addons/stock/report/report_deliveryslip.xml b/addons/stock/report/report_deliveryslip.xml
index c36ba994f7d..305bea7b34b 100644
--- a/addons/stock/report/report_deliveryslip.xml
+++ b/addons/stock/report/report_deliveryslip.xml
@@ -117,7 +117,12 @@
<span t-if="pack_operation.package_id">:</span>
<span t-field="pack_operation.package_id"/>
<span t-field="pack_operation.ordered_qty"/>
- <span t-field="pack_operation.product_uom_id"/>
+ <t t-if="pack_operation.linked_move_operation_ids">
+ <span t-field="pack_operation.linked_move_operation_ids[0].move_id.product_uom"></span>
+ </t>
+ <t t-else="1">
+ <span t-field="pack_operation.product_uom_id"></span>
+ </t>
</td>
<td class="text-right" t-if="pack_operation.state == 'done'">
<t t-if="pack_operation.ordered_qty != pack_operation.qty_done">
diff --git a/addons/web/static/src/js/views/form_common.js b/addons/web/static/src/js/views/form_common.js
index 273da34f678..24c64aad7a4 100644
--- a/addons/web/static/src/js/views/form_common.js
+++ b/addons/web/static/src/js/views/form_common.js
@@ -715,7 +715,7 @@ var AbstractField = FormWidget.extend(FieldInterface, {
}
},
_toggle_label: function() {
- var empty = this.get('effective_readonly') && this.is_false();
+ var empty = this.get('effective_readonly') && !this.is_set();
this.$label.toggleClass('o_form_label_empty', empty).toggleClass('o_form_label_false', this.get('effective_readonly') && this.get('value') === false);
this.$el.toggleClass('o_form_field_empty', empty);
},
@@ -754,10 +754,21 @@ var AbstractField = FormWidget.extend(FieldInterface, {
/**
* Method useful to implement to ease validity testing. Must return true if the current
* value is similar to false in OpenERP.
+ * Used at write time, in particular when the field is required
*/
is_false: function() {
return this.get('value') === false;
},
+
+ /**
+ * Method called at rendering time to determine if the field should be
+ * displayed (non-empty) or not (empty)
+ * We test the same thing as is_false but with different semantics
+ */
+ is_set: function() {
+ return !this.is_false();
+ },
+
_check_css_flags: function() {
var show_translate = (!this.get('effective_readonly') && this.field_manager.get('actual_mode') !== "create");
this.$translate.toggleClass('o_translate_active', !!show_translate);
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 2517b3c57b8..e8e9c450c3c 100644
--- a/addons/web/static/src/js/views/form_relational_widgets.js
+++ b/addons/web/static/src/js/views/form_relational_widgets.js
@@ -346,8 +346,8 @@ var FieldMany2One = common.AbstractField.extend(common.CompletionFieldMixin, com
if (!this.get("effective_readonly")) {
this.$input.val(noValue ? "" : (str.split("\n")[0].trim() || $(data.noDisplayContent).text()));
this.current_display = this.$input.val();
- this.$follow_button.toggle(!this.is_false());
- this.$el.toggleClass('o_with_button', !!this.$follow_button && this.$follow_button.length > 0 && !this.is_false());
+ this.$follow_button.toggle(this.is_set());
+ this.$el.toggleClass('o_with_button', !!this.$follow_button && this.$follow_button.length > 0 && this.is_set());
} else {
this.$el.html(noValue ? "" : (_.escape(str.trim()).split("\n").join("<br/>") || data.noDisplayContent));
// Define callback to perform when clicking on the field
@@ -872,6 +872,10 @@ var FieldX2Many = AbstractManyField.extend({
is_false: function() {
return _(this.dataset.ids).isEmpty();
},
+ is_set: function() {
+ // always consider that field is "set" hence displayed
+ return true;
+ },
});
var X2ManyDataSet = data.BufferedDataSet.extend({
@@ -1718,6 +1722,10 @@ var FieldMany2ManyCheckBoxes = AbstractManyField.extend(common.ReinitializeField
is_false: function() {
return false;
},
+ is_set: function() {
+ // always consider that field is "set" hence displayed
+ return true;
+ },
});
core.form_widget_registry
diff --git a/addons/web_kanban/static/src/js/kanban_column.js b/addons/web_kanban/static/src/js/kanban_column.js
index 50695526fe4..c6eee4b04f7 100644
--- a/addons/web_kanban/static/src/js/kanban_column.js
+++ b/addons/web_kanban/static/src/js/kanban_column.js
@@ -65,9 +65,10 @@ var KanbanColumn = Widget.extend({
});
var self = this;
- if (group_data.options && group_data.options.group_by_tooltip) {
- this.tooltip_info = _.map(group_data.options.group_by_tooltip, function (key, value, list) {
- return (self.values && self.values[value] && "<div>" +key + "<br>" + self.values[value] + "</div>") || '';
+ if (group_data.options && group_data.options.group_by_tooltip && this.values) {
+ this.tooltip_info = _.map(group_data.options.group_by_tooltip, function (key, value) {
+ if (!self.values[value]) { return ''; }
+ return $('<div>').text(key + '<br>' + self.values[value]).text();
}).join('');
} else {
this.tooltip_info = "";