This commit moves some business logic from components to models, as a step to move further to having essentially all business code in models. Having code in models is desirable to have very maintainable code, thanks to robust and declarative code with an ORM-like architecture. Task-2826823 closes odoo/odoo#89323 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>