Commit Graph
78 Commits
Author SHA1 Message Date
Christophe Simonis da19a7701e [MERGE] forward port branch saas-16 up to 23752102a0 2018-02-07 17:47:26 +01:00
qsm-odoo a93a9d43e6 [FIX] website: allow "Customize theme" when CDN option enabled
Traceback because the `_get_asset` function was called by the
`theme_customize` route without the `values` argument (which is not
necessary for the feature).

Closes https://github.com/odoo/odoo/issues/22516
2018-02-07 12:50:28 +01:00
Olivier Dony 695716efb0 [FIX] P3: remove pycompat.{keys,items,values} helpers
Now that we're closer to switching to P3 for good, these helpers have
outlived their usefulness, and mostly add noise.

All remaining dict.iter*() or dict.view*() must be converted to the
normal keys(), values() or items() calls.

Whenever the result is likely to be used for more than the scope of a
loop, or when the dict needs to be modified during iteration, the calls
must be wrapped in a ``list()``, to protect the new P3 semantics.
Those cases are very exceptional.

Also removed some dead code or improved the API to remove unnecessary
conversions.
2017-08-20 23:25:54 +02:00
xmo-odoo fffaf735f5 [FIX] P3: list -> iterable builtins (#16811)
In Python 3:

* various builtins and dict methods were changed to return
  view/iterable objects rather than lists
* and the separate Python 2 view/iterable builtins and methods were
  removed altogether

This is problematic when using these items as list (which the happens
repeatedly in Odoo), but more viciously when iterating *multiple times*
over them (which also happens, which I've messed up multiple times while
writing this, and which is a pain to debug even when you've just created
the issue).

Convert all code using these to semantics-matching cross-version
helper functions to get the LCD behaviour between P2 and P3, and
forbid the builtins via lint.

issue #8530
2017-05-10 09:39:55 +02:00
Christophe Simonis 8efd51acd3 [FIX] website: check request existence before use 2017-03-01 13:07:57 +01:00
Christophe Simonis 42de3f8e26 [FIX] website: use CDN for assets 2017-02-28 19:20:53 +01:00
Ravi Gadhia fd09ddb6f3 [MIG] website: migration to new api
Migration of website module to new API.
The tricky phase is ir_http.py : we need to use `request.env`
only when the authenfication phase is done. Normally by
calling `super` of `_dispatch` method, but website module
required it to be done before. This is important since
`env`is a lazy property of `request` object.

Some hack were kept since this commit is a migration ('RequestUID'
in ir.http, ...)

Some docstrings were added.
2016-08-04 12:02:14 +02:00
fwi-odoo d4e813b873 [REF] web, *: change deprecated import openerp.addons.web.http to odoo.http
We also remove the mock in web as there is no need for it anymore.
2016-08-03 13:42:05 +02:00
Christophe Matthieu 83ba577c30 [IMP] qweb: improve code documentation 2016-06-14 13:12:19 +02:00
Raphael Collet a32053d308 [IMP] qweb: rename methods + small code improvements
_switch_directives() -> _compile_directives()
_serialize_static_attributes() -> _compile_static_attributes
2016-06-14 13:12:19 +02:00
Christophe Matthieu 1e48122800 [IMP] qweb: don't use directive for static content 2016-06-14 13:12:18 +02:00
Christophe Matthieu 1583194845 [IMP] qweb: typo: remove qwebcontext and use values 2016-06-14 13:12:15 +02:00
Christophe Matthieu b3302398bc [IMP] ir.qweb: extract and create independent qweb class from ir.qweb
The goal is to make the code more readable, more easily be optimized, allowing to share the library "QWEB" (python and js) separately Odoo.
2016-06-14 13:12:14 +02:00
Christophe Matthieu d9efca0908 [IMP] qweb: t-field-options is a python dict, safe_eval for compile template, not need to eval in field methods 2016-06-14 13:12:14 +02:00
Christophe Matthieu 7ede9bcb2d [IMP] base ir.qweb: compile template (and use ast) to improve rendering speed
* The compiled templates are cached per user, lang, inherit context values
* ir.ui.fields: attributes method return an dict, and record_to_html return only the content value of the field
* all rendered text use build_text and all attributes use build_attribute
* t-esc-options is removed and replace by format_value method
* AssetsBundle receive the list files and remains
2016-06-14 09:46:25 +02:00
Julien Legros 9bd223f50d [FIX] website: robust attribute checking
When installing website or one of its dependencies directly, the website
attribute is not defined on request. If the installation triggers qweb
rendering [1], we need to correctly check the presence of the website
attribute, which this commit does.

[1]: This is the case in website_blog since
4a132e2afb
2016-05-26 16:44:01 +02:00
Christophe Matthieu 8c559044a5 [IMP] web_editor: split website into web_editor (to use editor in backend for html field) and website 2015-07-10 17:00:11 +02:00
Jeremy Kersten 99ab640499 [FIX] website: no left strip at minimize html
<b>2</b><p> comments</p>  ==> need to keep the space
2015-04-10 18:02:54 +02:00
Christophe Matthieu e42995b614 [FIX] website_sale: Unable to customize image from grid of products. Add an option for the image qweb widget to resize and the views can add python data in widget options 2015-01-16 16:38:09 +01:00
Christophe Matthieu 7c10c9ac27 [FIX] website qweb: wrong encoding when a snippet is called by t-snippet 2015-01-16 16:38:09 +01:00
Christophe Matthieu 9069d0127c [IMP] website: use the new summernote editor 2015-01-05 10:59:42 +01:00
Christophe Matthieu 4734cbab4d [IMP] website.snippet: snippets can be splitted into separate template and be called into the lits of the snippet 2014-12-18 22:50:12 +01:00
Thibault Delavallée 2583258f93 [IMP] website_forum: better implementation of automatic nofollow attribute
on links in forum posts.

This is now done when creating / updating posts instead of updating the display
of the post. This means that old posts may contain nofollow attribute altough
the user has sufficient karma; however it is acceptable compared to the computation
we save by avoiding processing every post to display.
2014-12-11 15:41:56 +01:00
tpa-odoo 6d9e04db87 [IMP] website_forum: add a new karma to control the
way links displayed in posts and answers. A nofollow attribute is
added is the author has not enough karma, adding a protection for
spammer tryign to improve their SEO.
2014-11-19 15:06:08 +01:00
Christophe Simonis 5068cffbb0 [MERGE] forward port of branch 8.0 up to 491372e 2014-11-05 20:30:40 +01:00
Jeremy Kersten 738a895dba [FIX] ir_qweb, website_blog: Allow to pass inline style as an option for the widget image. And change some img from blog to use this widget 2014-11-05 11:11:26 +01:00
Raphael Collet f2e4a10e1a [IMP] use model._fields instead of model._all_columns to cover all fields
The old-api model._all_columns contains information about model._columns and
inherited columns.  This dictionary is missing new-api computed non-stored
fields, and the new field objects provide a more readable api...

This commit contains the following changes:

 - adapt several methods of BaseModel to use fields instead of columns and
   _all_columns

 - copy all semantic-free attributes of related fields from their source

 - add attribute 'group_operator' on integer and float fields

 - base, base_action_rule, crm, edi, hr, mail, mass_mailing, pad,
   payment_acquirer, share, website, website_crm, website_mail: simply use
   _fields instead of _all_columns

 - base, decimal_precision, website: adapt qweb rendering methods to use fields
   instead of columns
2014-11-04 13:47:57 +01:00
Fabien Meghazi 8e59d086d5 [ADD] CDN support for website 2014-10-22 10:00:36 +02:00
Christophe Simonis a42167d085 [MERGE] forward port of branch 8.0 up to 262eb66 2014-10-21 14:59:56 +02:00
Denis Ledoux 639174bc53 [FIX] website: prevent editing contact address with qweb contact widget
Because, currently, it copy the whole address in the contact name. The address is therefore duplicated
2014-10-16 18:39:37 +02:00
Christophe Simonis 52fee2811d [MERGE] forward port of branch 8.0 up to 2b192be 2014-10-16 16:04:39 +02:00
Xavier Morel 2ffcff8fa9 [ADD] qweb: handling of t-att=mapping
Changed render_att_att to return an iterable of pairs instead of a pair, and
dispatched t-att on whether its result is a Mapping.

Also changed qweb test runner so it uses ordereddict for JSON mapping in
params, otherwise iteration order (and thus order of attributes in output) is
unpredictable and results don't/can't match expectations (as both are
strings).

Note that this relies on JS implementation details wrt iteration order of
mappings. Tests would probably be somewhat less brittle if rendering output
was parsed to XML... if that's possible (?)
2014-10-06 19:13:44 +02:00
Christophe Simonis 709c9868de [MERGE] forward port of branch 8.0 up to e883193 2014-10-01 19:18:14 +02:00
Fabien Meghazi 3f6ad35ed1 [ADD] Add an html compressor option in website settings 2014-09-18 17:37:49 +02:00
Fabien Meghazi 51477fb4f6 [IMP] Brought back /website/image route w/filename hinted in headers
Also added support for this route in widget Image#from_html()
2014-09-17 16:54:08 +02:00
Fabien Meghazi bc5e6fa2cb [ADD] Helper for /website/image (allows to use aggressive cache) 2014-09-16 19:54:59 +02:00
Fabien Meghazi 5e6e1303e3 [IMP] pretty urls for /website/image 2014-08-28 16:37:38 +02:00
Xavier Morel b18d83c0e0 [IMP] convert qweb to use lxml instead of minidom
should be >20x faster at parsing document strings and gain close to 40s on crawling
2014-07-02 16:01:36 +02:00
Xavier Morel 56009e8804 [FIX] website: missing timezone conversion back to UTC
In t-field, datetime fields (formatted and not formatted versions) are
converted to the context/user's timezone (through
fields.datetime.context_timestamp) when displayed, but were saved without
converting back so the next display would go forward (or back) of the user's
tzoffset.

Fix that by applying context_timestamp's conversion backwards, from the
context/user's timezone back to UTC, before saving the field's value.
2014-06-18 16:09:02 +02:00
Olivier Dony 6b85d80f23 [FIX] Wrap werkzeug.utils.escape() to accomodate signature change in 0.9
We always want to escape quotes (") as part of the process of
generating HTML output. This option (quote=True) turned into
an implicit flag with a DeprecationWarning in werkzeug 0.9.0
It is likely to disappear in a future release of werkzeug too.
A wrapper avoids this warning without loss of compatibility
2014-06-10 18:46:40 +02:00
Xavier Morel 4362c6127f [IMP] use url_encode when building url query string
I have no idea why I originall implemented that crap via string munging.
2014-05-23 15:03:23 +02:00
Richard Mathot 1d70ecd80d [IMP] website: add max_height and max_width options to image Qweb widget 2014-05-23 11:55:48 +02:00
chm@openerp.com 4dc3b139f3 [IMP] ir_qweb, ir_ui_view: can use id insead of xml_id; can render ir.ui.view many2one with widget='qweb' in template
bzr revid: chm@openerp.com-20140409104427-ut3r5acavyjsp6bj
2014-04-09 12:44:27 +02:00
Christophe Simonis 0fad8159f3 [MERGE] forward port of branch saas-3 up to revid 9380 chs@openerp.com-20140407144439-10n8fs6zovodwwtx
bzr revid: chs@openerp.com-20140407163318-hh3jwfkj3o2c83lk
2014-04-07 18:33:18 +02:00
Olivier Dony f120d6ffb7 [FIX] ir.qweb: avoid errors with function fields of type datetime
bzr revid: odo@openerp.com-20140401160623-loj5nsph7tfnn1us
2014-04-01 18:06:23 +02:00
Simon Lejeune 50fda546e2 [REF] Moved qweb contact from website to base and removed the from_html method (it never worked)
bzr revid: sle@openerp.com-20140324135933-f21heo0sz0tzjbv3
2014-03-24 14:59:33 +01:00
Fabien Meghazi 326c35aecd [IMP] Merge bananas and cumcumbers in order to prepare the t-href|t-action removal
bzr revid: fme@openerp.com-20140128201417-1elmttz8qen9q3ws
2014-01-28 21:14:17 +01:00
Christophe Matthieu 43044d8ee7 [IMP] event,event_sale: refactoring; remove crappy 9999 hardcoded values; remove visibility; add constraints
bzr revid: chm@openerp.com-20140127135828-z848mvpis5d9xyh8
2014-01-27 14:58:28 +01:00
Fabien Meghazi f0606d3cc0 [FIX] Contact field encoding issue
bzr revid: fme@openerp.com-20140124132304-4kmjd9k4k2xgjecv
2014-01-24 14:23:04 +01:00
Christophe Matthieu 4ff1af4d01 [FIX] website: display or not editor edit button; website_sale: test tour; website: contact qweb widget
bzr revid: chm@openerp.com-20140121123912-0ya4ziusj09efti3
2014-01-21 13:39:12 +01:00