fields
forms
upgrade Boolean Field
Odoo 19 fields — upgrade Boolean Field (webclient)
Live preview
Interactive
Source excerpt
web/static/src/webclient/settings_form_view/fields/upgrade_boolean_field.js
import { registry } from "@web/core/registry";
import { booleanField, BooleanField } from "@web/views/fields/boolean/boolean_field";
import { useService } from "@web/core/utils/hooks";
import { UpgradeDialog } from "./upgrade_dialog";
/**
* The upgrade boolean field is intended to be used in config settings.
* When checked, an upgrade popup is showed to the user.
*/
export class UpgradeBooleanField extends BooleanField {
setup() {
super.setup();
this.dialogService = useService("dialog");
this.isEnterprise = odoo.info && odoo.info.isEnterprise;
}
async onChange(newValue) {
if (!this.isEnterprise) {
this.dialogService.add(
UpgradeDialog,
{},
{
onClose: () => {
this.props.record.update({ [this.props.name]: false });
},
}
);
} else {
super.onChange(...arguments);
}
}
}
export const upgradeBooleanField = {
...booleanField,
component: UpgradeBooleanField,
additionalClasses: [...(booleanField.additionalClasses || []), "o_field_boolean"],
};
registry.category("fields").add("upgrade_boolean", upgradeBooleanField);
Registry / API
- Registry name
upgradeBooleanField- Category
fields- Module
web- Slug
upgrade-boolean-field- Nav group
forms