-
- Downloads
[IMP] mail,*: replace jinja with qweb
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 X-original-commit: odoo/odoo@68182baff4bdf4b3bcc1f46b361f5a5b8ac9aa11 Part-of: odoo/odoo#77377
Showing
- addons/account/data/mail_template_data.xml 65 additions, 60 deletionsaddons/account/data/mail_template_data.xml
- addons/auth_signup/data/mail_template_data.xml 71 additions, 74 deletionsaddons/auth_signup/data/mail_template_data.xml
- addons/auth_totp_mail/data/mail_template_data.xml 5 additions, 5 deletionsaddons/auth_totp_mail/data/mail_template_data.xml
- addons/calendar/data/mail_template_data.xml 261 additions, 259 deletionsaddons/calendar/data/mail_template_data.xml
- addons/calendar_sms/data/sms_data.xml 1 addition, 1 deletionaddons/calendar_sms/data/sms_data.xml
- addons/crm/data/digest_data.xml 8 additions, 7 deletionsaddons/crm/data/digest_data.xml
- addons/crm/data/mail_template_demo.xml 24 additions, 25 deletionsaddons/crm/data/mail_template_demo.xml
- addons/digest/models/digest.py 1 addition, 1 deletionaddons/digest/models/digest.py
- addons/event/data/mail_template_data.xml 239 additions, 245 deletionsaddons/event/data/mail_template_data.xml
- addons/event_sms/data/sms_data.xml 4 additions, 4 deletionsaddons/event_sms/data/sms_data.xml
- addons/event_sms/tests/test_sms_schedule.py 4 additions, 4 deletionsaddons/event_sms/tests/test_sms_schedule.py
- addons/gamification/data/mail_template_data.xml 136 additions, 150 deletionsaddons/gamification/data/mail_template_data.xml
- addons/hr_presence/data/mail_template_data.xml 4 additions, 4 deletionsaddons/hr_presence/data/mail_template_data.xml
- addons/hr_recruitment/data/digest_data.xml 4 additions, 4 deletionsaddons/hr_recruitment/data/digest_data.xml
- addons/hr_recruitment/data/mail_template_data.xml 115 additions, 117 deletionsaddons/hr_recruitment/data/mail_template_data.xml
- addons/lunch/data/mail_template_data.xml 38 additions, 47 deletionsaddons/lunch/data/mail_template_data.xml
- addons/mail/models/mail_composer_mixin.py 2 additions, 2 deletionsaddons/mail/models/mail_composer_mixin.py
- addons/mail/models/mail_render_mixin.py 55 additions, 69 deletionsaddons/mail/models/mail_render_mixin.py
- addons/mail/models/mail_template.py 2 additions, 2 deletionsaddons/mail/models/mail_template.py
- addons/mail/tests/common.py 2 additions, 2 deletionsaddons/mail/tests/common.py
Loading
Please register or sign in to comment