[FIX] web: properly set page data in 'ModelFieldSelector' widget
When passing a default field chain to ModelFieldSelector, the page data is
not set correctly for the relational field. To understand the issue :
- login to v11 enterprise all db branch in runbot (debug mode recommended)
- create a mass mailing, add subject, select 'Contact' in `Recipients` field
- click on domain selector and select 'Company' from ModelFieldSelector popover
- click somewhere else to close the popover
- again open domain selector and observe the popover
Current behavior : fields of `Contact` are visible in the page even thogh
`Company` is selected in the ModelFieldSelector
Expected behavior : fields of `Company` should be visible
This commit fixes the issue by correctly pushing the page data
in ModelFieldSelector.
task - 2058702
closes odoo/odoo#47231
X-original-commit: 5746c2705c324b124445f38ead4f75624b3f99e3
Related: odoo/enterprise#9124
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
This commit is contained in:
committed by
Damien Bouvy
parent
9ab34d8771
commit
b3ece2074a
@@ -303,8 +303,12 @@ var ModelFieldSelector = Widget.extend({
|
||||
function processChain(chain) {
|
||||
var fieldName = chain.pop();
|
||||
var field = this._getLastPageField(fieldName);
|
||||
if (field && field.relation && chain.length > 0) { // Fetch next chain node if any and possible
|
||||
return this._pushPageData(field.relation).then(processChain.bind(this, chain));
|
||||
if (field && field.relation) {
|
||||
if (chain.length) { // Fetch next chain node if any and possible
|
||||
return this._pushPageData(field.relation).then(processChain.bind(this, chain));
|
||||
} else { // Simply update the last popover page
|
||||
return this._pushPageData(field.relation);
|
||||
}
|
||||
} else if (field && chain.length === 0) { // Last node fetched
|
||||
return Promise.resolve();
|
||||
} else if (!field && fieldName === "1") { // TRUE_LEAF
|
||||
|
||||
Reference in New Issue
Block a user