5e987137a28e2381f541d8b975801e4b2cacbe11
Descriptions which need to use markup should be explicitly marked as such. Update examples test to check that both Markup and String descriptions work fine. `escFormat` had to be modified quite a bit and ended up requiring being its own Markup-adjacent type: if the `sprintf()` result is wrapped in a `Markup`, then what happens is we first decide to escape because the object returned by `escFormat` only has a `toString()`, then that blows up because `toString` returns a non-primitive object and the regex used to implement `_.escape` is very very unhappy. `escFormat` could return a `Markup` object but then it wouldn't be lazy anymore which would rather miss the point. Therefore implement `[_.escapeMethod]` on the thing, such that it doesn't get escaped, because it's safe (ish). Also as a result the icons probably don't need to be markup-ed. Oh well shouldn't really matter.
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%