-
Nicolas Bayet authored
Jinja as a templating engine was problematic in differents respect: - introduce external dependency to Odoo (less controll) - add another templating mechanism in the stack - specific feature in qweb cannot be reused - difficulty in rendering easily editable templates - more knowledge required with no betterment By replacing jinja with qweb we can now build tools to edit a qweb that will work with the previously jinja encoded document (essentially `mail.template` records). There is a catch however. Some email fields (eg. email_to) used jinja syntax for rendering dynamic variables (ie. ${object.something} and ${object.something_that_should_not_be_escaped | safe}). We still want user to use dynamic variables for some char fields (eg. subject, from, to, ...). We made a new rendering engine called "inline_template" that will render an expression enclosed by `{{` and `}}`. To be able to edit the templates from the backend interface, a plugin to the Odoo editor has been made for seamlessly edit the document. This qweb plugin includes: - make dynamic variables (eg. `<t t-out="variable"/>`) not editable (for preventing the user to shoot himself in the foot) - group and hide related logical branching (ie. t-if, t-elif, and t-else) in order to see only one at once - a floating select input to switch visibility of a particular logical branching Task-27033 Part-of: odoo/odoo#77074
68182baf