summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/view_form.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/view_form.js')
-rw-r--r--addons/web/static/src/js/view_form.js49
1 files changed, 26 insertions, 23 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index d2f55c0901e..0f33de0814e 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -346,7 +346,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
self.on_form_changed();
self.rendering_engine.init_fields();
self.is_initialized.resolve();
- self.do_update_pager(record.id == null);
+ self.do_update_pager(record.id === null || record.id === undefined);
if (self.sidebar) {
self.sidebar.do_attachement_update(self.dataset, self.datarecord.id);
}
@@ -465,7 +465,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
// form field
if (self.fields[field]) {
var value_ = self.fields[field].get_value();
- return value_ == null ? false : value_;
+ return value_ === null || value_ === undefined ? false : value_;
}
// parent field
var splitted = field.split('.');
@@ -475,7 +475,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
}
var p_val = parent_fields[_.str.trim(splitted[1])];
if (p_val !== undefined) {
- return p_val == null ? false : p_val;
+ return p_val === null || p_val === undefined ? false : p_val;
}
}
// string literal
@@ -621,7 +621,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
}
return $.when();
});
- };
+ }
return iterate();
});
},
@@ -943,11 +943,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
reload: function() {
var self = this;
return this.reload_mutex.exec(function() {
- if (self.dataset.index == null) {
+ if (self.dataset.index === null || self.dataset.index === undefined) {
self.trigger("previous_view");
return $.Deferred().reject().promise();
}
- if (self.dataset.index == null || self.dataset.index < 0) {
+ if (self.dataset.index < 0) {
return $.when(self.on_button_new());
} else {
var fields = _.keys(self.fields_view.fields);
@@ -1714,7 +1714,7 @@ instance.web.form.compute_domain = function(expr, fields) {
};
instance.web.form.is_bin_size = function(v) {
- return /^\d+(\.\d*)? \w+$/.test(v);
+ return (/^\d+(\.\d*)? \w+$/).test(v);
};
/**
@@ -2642,7 +2642,7 @@ instance.web.form.FieldText = instance.web.form.AbstractField.extend(instance.we
if (! this.get("effective_readonly")) {
var show_value = instance.web.format_value(this.get('value'), this, '');
if (show_value === '') {
- this.$textarea.css('height', parseInt(this.default_height)+"px");
+ this.$textarea.css('height', parseInt(this.default_height, 10)+"px");
}
this.$textarea.val(show_value);
if (! this.auto_sized) {
@@ -3265,7 +3265,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
this.$input.keydown(input_changed);
this.$input.change(input_changed);
this.$drop_down.click(function() {
- self.$input.focus();
+ self.$input.focus();
if (self.$input.autocomplete("widget").is(":visible")) {
self.$input.autocomplete("close");
} else {
@@ -3740,7 +3740,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
},
reload_current_view: function() {
var self = this;
- return self.is_loaded = self.is_loaded.then(function() {
+ self.is_loaded = self.is_loaded.then(function() {
var active_view = self.viewmanager.active_view;
var view = self.viewmanager.views[active_view].controller;
if(active_view === "list") {
@@ -3758,13 +3758,15 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
return view.do_search(self.build_domain(), self.dataset.get_context(), []);
}
}, undefined);
+ return self.is_loaded;
},
set_value: function(value_) {
value_ = value_ || [];
var self = this;
this.dataset.reset_ids([]);
+ var ids;
if(value_.length >= 1 && value_[0] instanceof Array) {
- var ids = [];
+ ids = [];
_.each(value_, function(command) {
var obj = {values: command[2]};
switch (command[0]) {
@@ -3795,7 +3797,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
this._super(ids);
this.dataset.set_ids(ids);
} else if (value_.length >= 1 && typeof(value_[0]) === "object") {
- var ids = [];
+ ids = [];
this.dataset.delete_all = true;
_.each(value_, function(command) {
var obj = {values: command};
@@ -3850,7 +3852,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
this.viewmanager.views[this.viewmanager.active_view].controller) {
var view = this.viewmanager.views[this.viewmanager.active_view].controller;
if (this.viewmanager.active_view === "form") {
- if (!view.is_initialized.state() === 'resolved') {
+ if (view.is_initialized.state() !== 'resolved') {
return $.when(false);
}
return $.when(view.save());
@@ -3870,7 +3872,6 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
.invoke('is_valid')
.all(_.identity)
.value();
- break;
case 'list':
return view.is_valid();
}
@@ -4256,7 +4257,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
},
core: {
onSetInputData: function(e, data) {
- if (data == '') {
+ if (data === '') {
this._plugins.autocomplete._suggestions = null;
}
this.input().val(data);
@@ -4578,8 +4579,9 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
if (type !== "form")
return;
var self = this;
+ var pop;
if (this.dataset.index === null) {
- var pop = new instance.web.form.SelectCreatePopup(this);
+ pop = new instance.web.form.SelectCreatePopup(this);
pop.select_element(
this.field.relation,
{
@@ -4599,7 +4601,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
});
} else {
var id = self.dataset.ids[self.dataset.index];
- var pop = new instance.web.form.FormOpenPopup(this);
+ pop = new instance.web.form.FormOpenPopup(this);
pop.show_element(self.field.relation, id, self.build_context(), {
title: _t("Open: ") + self.string,
write_function: function(id, data, options) {
@@ -4935,7 +4937,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
self.select_elements(self.selected_ids);
self.destroy();
});
- var $cbutton = self.$buttonpane.find(".oe_selectcreatepopup-search-create");
+ $cbutton = self.$buttonpane.find(".oe_selectcreatepopup-search-create");
$cbutton.click(function() {
self.new_object();
});
@@ -5190,18 +5192,18 @@ instance.web.form.FieldBinaryFile = instance.web.form.FieldBinary.extend({
}
},
render_value: function() {
+ var show_value;
if (!this.get("effective_readonly")) {
- var show_value;
if (this.node.attrs.filename) {
show_value = this.view.datarecord[this.node.attrs.filename] || '';
} else {
- show_value = (this.get('value') != null && this.get('value') !== false) ? this.get('value') : '';
+ show_value = (this.get('value') !== null && this.get('value') !== undefined && this.get('value') !== false) ? this.get('value') : '';
}
this.$el.find('input').eq(0).val(show_value);
} else {
this.$el.find('a').toggle(!!this.get('value'));
if (this.get('value')) {
- var show_value = _t("Download")
+ show_value = _t("Download")
if (this.view)
show_value += " " + (this.view.datarecord[this.node.attrs.filename] || '');
this.$el.find('a').text(show_value);
@@ -5553,11 +5555,12 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
on_click_stage: function (ev) {
var self = this;
var $li = $(ev.currentTarget);
+ var val;
if (this.field.type == "many2one") {
- var val = parseInt($li.data("id"));
+ val = parseInt($li.data("id"), 10);
}
else {
- var val = $li.data("id");
+ val = $li.data("id");
}
if (val != self.get('value')) {
this.view.recursive_save().done(function() {