[FIX] partner_autocomplete, web: autocomplete error when suggested company has a country
- Change the company's country to Finland; - Go to Contacts and click on Create; - Tick the Company box above the Name field; - Start typing into the Name field; - Click on a company with a VAT number under its name. Before this commit, a Traceback appears. This occurs because the response of the request with the suggested company has the fields 'company_name' and 'company_code' and these fields are not in res_partner. Now, the suggested company is parsed to correctly field the country field. opw-2049636 closes odoo/odoo#35631 Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
This commit is contained in:
@@ -110,7 +110,7 @@ class ResPartner(models.Model):
|
||||
if suggestions:
|
||||
results = []
|
||||
for suggestion in suggestions:
|
||||
results.append(suggestion)
|
||||
results.append(self._format_data_company(suggestion))
|
||||
return results
|
||||
else:
|
||||
return []
|
||||
|
||||
@@ -1456,9 +1456,9 @@ var BasicModel = AbstractModel.extend({
|
||||
// apply changes to local data
|
||||
for (var fieldName in changes) {
|
||||
field = record.fields[fieldName];
|
||||
if (field.type === 'one2many' || field.type === 'many2many') {
|
||||
if (field && (field.type === 'one2many' || field.type === 'many2many')) {
|
||||
defs.push(this._applyX2ManyChange(record, fieldName, changes[fieldName], options.viewType, options.allowWarning));
|
||||
} else if (field.type === 'many2one' || field.type === 'reference') {
|
||||
} else if (field && (field.type === 'many2one' || field.type === 'reference')) {
|
||||
defs.push(this._applyX2OneChange(record, fieldName, changes[fieldName]));
|
||||
} else {
|
||||
record._changes[fieldName] = changes[fieldName];
|
||||
@@ -1473,7 +1473,7 @@ var BasicModel = AbstractModel.extend({
|
||||
var onChangeFields = []; // the fields that have changed and that have an on_change
|
||||
for (var fieldName in changes) {
|
||||
field = record.fields[fieldName];
|
||||
if (field.onChange) {
|
||||
if (field && field.onChange) {
|
||||
var isX2Many = field.type === 'one2many' || field.type === 'many2many';
|
||||
if (!isX2Many || (self._isX2ManyValid(record._changes[fieldName] || record.data[fieldName]))) {
|
||||
onChangeFields.push(fieldName);
|
||||
|
||||
Reference in New Issue
Block a user