Commit Graph
165 Commits
Author SHA1 Message Date
Christophe Simonis b33f919e3d [MERGE] forward port branch 10.0 up to aec8e25 2016-12-06 17:38:40 +01:00
Simon Lejeune 12e36a66f2 [FIX] qweb: render a child view with its xmlid
QWeb's get_template:
  * remove the fallback that returned the entire result of IRQweb's
    `load` if no match was made between the t-name of the first children
    of this result and the template to render
  * When get_template receives an etree, directly return it and don't
    try to find a matching t-name in it. The loader was not called but
    a matching was trying to be made, now that we removed the fallback
    a lot of tests that were relying on passing etree didn't work
    anymore.

IRQweb's load now return consistently the full result of IrUiView's
`read_templace` when asked to load an id or an xmlid. We make a special
case to patch the result if asked with an id or with a child view so
that the "t-name" of one of the first children of what we return is
always what QWeb is looking for.
2016-12-02 12:24:51 +01:00
Raphael Collet bb786944de [REF] base: make view.model_data_id a non-stored computed field (#13918)
This fixes the problem of recomputing that field in a much better way.  The
field was stored for the sake of searching; instead we implemented a search
method for it.
2016-10-24 12:26:22 +02:00
Christophe Simonis 42481f9849 [FIX] website: convert new test to new-api 2016-10-19 18:26:34 +02:00
Christophe Simonis 6466aa499f [MERGE] forward port branch saas-12 up to 00f4547 2016-10-19 18:09:53 +02:00
Raphael Collet 3ec5a23007 [FIX] base: recompute view.model_data_id (#13885)
The field was a stored computed field without dependencies, and therefore it
was never (re)computed. Add a simple dependency on the model `ir.model.data`
to make the recomputation everytime a view is modified. Moreover, when views
are created from modules, delay the recomputation of view fields until their
`ir.model.data` record is created.
2016-10-19 15:20:14 +02:00
Christophe Matthieu ea1c061e11 [IMP] website: convert tours to use web_tour.tour 2016-08-30 13:54:28 +02:00
qsm-odoo f9a84b5ebc [IMP] web_tour, *: allow to properly extend tours
* crm, project, website, website_event, website_blog, website_forum,
website_sale

Eg: the tour 'shop_buy_product' is extended by the website_sale_options
addons to add a step to close a modal.

The current solution was requiring the module that defines the tour
to extend, then add/remove steps in the "step" key of the tour
definition.
Some of the problems with this method were:
* The "register" method calls the "update" method to immediately
search for tip to place once registered (as register may be called
after the DOM is ready). So extensions of tours were happening after
the tours were started (and the tours were not restarted).
* The addition/removal of steps was happening after they were filtered
according to the "edition" key.

To allow extension, the system is changed as follow:
* The "register" method now only saves the steps and options without
modifying them and does not call the "update" method.
* Once the DOM was ready, the tour service started listening to DOM
mutations and called the "update" tour method. Now, this "update" call
is replaced by a "_register_all" call, on DOM ready and at the end of
the current call stack (which makes sure all modules are loaded). This
"_register_all" method marks the registered tours as ready after having
filtered the steps according to the "edition" key and initialized the
current step to trigger.
* Also, tours can now define a "wait_for" option which allow them to
be marked as ready for run and update after the given deferred. Those
tours can now also be extended without having to wait for the deferred.
PhamtomJS must wait for the "ready" key to be true to run the tour.
2016-08-26 13:39:55 +02:00
Jérome Maes 8a399930f3 [REF] website_*: remove render method on website
Since saas-3, website controllers use `request.website.render`
to render the template of a web page. This was kept for retro
compatibility. It's time to stop using deprecated stuff.
Same for `_render` method on website.

'json' route don't use `request.render` since
`JsonRequest` has no `render` method.
2016-08-04 12:02:14 +02: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 a32c1d3c8d [MIG] web_editor: migrate to new api 2016-08-03 13:42:25 +02:00
qsm-odoo eaf8e82efb [IMP] *: activate automatic tour tests
* project, crm, point_of_sale, website, website_sale, website_blog,
website_event, website_forum
2016-07-18 14:22:29 +02:00
Leonardo Rochael Almeida 06b3026bcd [IMP] unittest2 > unittest
The `unittest2` package is simply a backport of `unittest` from the
Standard Library of Python 2.7 to previous versions.

There is no reason to use it any longer.

Closes #6941
2015-09-28 10:37:27 +02:00
Christophe Simonis edeceba7df [MERGE] forward port of branch saas-6 up to 7a768a4
Due to `sale` rewrite (94716a3f14),
the commit 503820acb6 has been partially
ignored (in sale.order.line) and will be rewritten later using new-api.
2015-08-28 15:07:16 +02:00
Christophe Simonis 6d85a9a4b9 [MERGE] forward port of branch 8.0 up to d744923 2015-08-27 18:30:46 +02:00
Nicolas Lempereur 8c77c711ee [FIX] website: escaping saved html content
Escape text nodes changed via the web editor before sending the content
it to the server controller.

It is done since the content is unescaped one time when being displayed,
and it is not done for inline style and script tags (which may be
injected by dropping a snippet) since that would break them.

replacing the solution in cdb900044.
2015-08-27 17:27:39 +02:00
Christophe Simonis 73e652818b [MERGE] forward port of branch saas-6 up to 8d95f6d 2015-08-15 16:57:35 +02:00
Christophe Simonis 2922f70de3 [MERGE] forward port of branch 8.0 up to 09ceb9c 2015-08-13 15:24:57 +02:00
Nicolas Lempereur cdb9000449 [FIX] website, base: escaping and unescaping html
When saving a template in version 8.0, html would be saved as it should
be displayed once on the site. In particular, if some text should be
escaped once send to the browser, it will be saved as such.

But when rendering, a text node content is unescaped two times:

* for translation which seems wrong since we already use .text of a node
  which already escaped it, doing it one more time is bad,

* when rendering the template, since the html template is stored in xml,

This commit remove superfluous unescaping for translation, and add an
escaping when saving the changed template content.

closes #7967
opw-646889
2015-08-13 15:15:24 +02:00
Christophe Matthieu 087fd6942b [IMP] web_editor: add test translator 2015-07-10 17:00:15 +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
Géry Debongnie ebc39b8788 [FIX] update tests to new module system
Various tests (mostly tours) were broken with the large changes in the
way the js code works.
2015-03-18 09:23:37 +01:00
Christophe Simonis 392d995d1f [MERGE] forward port of branch 8.0 up to c7648a1 2015-02-12 13:20:54 +01:00
Christophe Matthieu 9fbdd2d83d [IMP] website: improve speed of test crawl and load only one slug by route
If they are this routes:
/partner/p-1
/partner/p-2
...
/partner/grade-1/p-1
/partner/grade-1/p-2
...
/partner/grade-2/p-1
/partner/grade-2/p-2
...
We want test only one time the routes:
/partner/p-1
/partner/grade-1/p-1
2015-02-12 12:26:23 +01:00
Christophe Matthieu 9069d0127c [IMP] website: use the new summernote editor 2015-01-05 10:59:42 +01:00
Leonardo Donelli 4a0b13ed92 [REF] remove vim modelines and resulting trailing blank lines
Let 2015 be a year without modelines!
cf #4174
2014-12-31 15:52:13 +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
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
Antony Lesuisse 58481cee00 website crawl test report number of sql queries 2014-07-01 22:45:20 +02:00
Antony Lesuisse e634ec806f [IMP] website crawler log show query/s 2014-06-29 21:39:30 +02:00
Antony Lesuisse 78e044b5c7 [IMP] test impprove HTTPCase opener
Simplify website crawler using the generic HTTPCase opener
2014-06-29 20:04:30 +02:00
Simon Lejeune 195fa93168 [MERGE] backend front end integration
Render the top-menu (backend menu or frontend editbar) server-side.
Use Fontawesome icons (mail, timezone, chat).
Refactor website widgets, split Website.editorBarin editorbar, ace, editorbar- content, editorbarCustomize.
2014-06-27 11:03:34 +02:00
Christophe Simonis 5112421a93 [FIX] website: correct slug parsing 2014-06-25 11:08:51 +02:00
Franck Bret b4afff3618 Unify website slugify method behavior with or without python-slugify, and add some unit tests 2014-06-20 11:25:44 +02:00
Christophe Matthieu bc3fc54fac [IMP] Tour: add tour in web module; tour became available in backend. 2014-06-18 12:25:13 +02:00
Christophe Simonis a756b82372 [MERGE] forward port of branch saas-4 up to revid bb26dea 2014-05-20 20:19:55 +02:00
Fabien Meghazi c3cfc4bc32 [MERGE] sitemap backport, merge trunk from 9438 til 9440
merge from 9438 revid:fp@tinyerp.com-20140511115231-g8ke14r9iepyypv4 til 9440 revid:fp@tinyerp.com-20140511143314-nzn1239l00arbxjq
2014-05-13 16:38:31 +02:00
Xavier Morel 023aa7acdf [FIX] website_forum links which should not be, post-install crawler
* move URLs of purely-JS-hook <a> to data-href so the crawler does not try to
  access them (they're JSON-RPC endpoints...)
* replace side-effecting links (...) by styled buttons
* fix crawler to not take fragments in account when deduplicating and
  navigating URLs
2014-05-12 18:34:55 +02:00
Fabien Pinckaers 54d30d5194 [IMP] clean sitemap, enumerate pages + fixes
bzr revid: fp@tinyerp.com-20140511115231-g8ke14r9iepyypv4
2014-05-11 13:52:31 +02:00
chm@openerp.com 1fc8f89bc1 [MERGE] from trunk
bzr revid: chm@openerp.com-20140411082050-lr7vtew6yvsqaon6
2014-04-11 10:20:50 +02:00
Raphael Collet 560166d5a1 [FIX] website/tests: fix test_requests by manually switching registry to test mode
bzr revid: rco@openerp.com-20140409092450-2r4gx0eggw2p7lch
2014-04-09 11:24:50 +02:00
chm@openerp.com 62814f9c23 [FIX] website: activate new tour tests
bzr revid: chm@openerp.com-20140324081112-15n58puu29weydme
2014-03-24 09:11:12 +01:00
Xavier Morel 5196cd6e8c [FIX] website: set inherit_branding in test contexts to trigger generation of relevant edition attributes
bzr revid: xmo@openerp.com-20140317152502-6a2agi1xjooi516e
2014-03-17 16:25:02 +01:00
Antony Lesuisse 0772c99bcb [FIX] website test, remove useless test, waitfor banner fix
bzr revid: al@openerp.com-20140316144546-agpgmlwxa532xxmb
2014-03-16 15:45:46 +01:00
Antony Lesuisse e23ce63133 [FIX] website tests crawler, admin password != super admin password
bzr revid: al@openerp.com-20140316142302-7xm0sputqgadihs0
2014-03-16 15:23:02 +01:00
Christophe Simonis d504764eff [MERGE] forward port of branch saas-3 up to revid 9298 chm@openerp.com-20140311130852-3ft0v1mc9ht1any6
bzr revid: chs@openerp.com-20140311145205-s56fj113fsrnisc3
2014-03-11 15:52:05 +01:00
Xavier Morel 6b857b6eeb [FIX] whitespace/indent lost by RTE
Didn't manage to find RTE settings to avoid losing leading whitespace of
lines, so reindeint arch after doing all integration, right before saving back
to view's field.

* html.fromstring(parser=HTMLParser(remove_blank_text=True) does not seem to
  work, so serialize to XML, and parse back with
  remove_blank_text. remove_blank_text necessary for lxml's pretty_print to
  work correctly.

* pretty_print only & always uses 2 spaces/indent level. Our files (and the
  HTML editor's Format button) uses 4 spaces -> need a second pass to double
  indents.

bzr revid: xmo@openerp.com-20140227125934-q8j3z440px2ic6kx
2014-02-27 13:59:34 +01:00
Xavier Morel 55a9e5af27 [FIX] re-enable website_sale tests because they pass so whatever
bzr revid: xmo@openerp.com-20140219144754-52dz24qmnjq72zor
2014-02-19 15:47:54 +01:00
Xavier Morel a77097ce60 [REM] broken and PITA test_02_public_login_logout
* / fails to load, it turns out Tour is undefined because unlogged home does
  not load bootstrap-tour

* after injecting bootstrap-tour, redirects to /login (to log in), tries to
  inject tour again except this time ``openerp.website`` is completely empty
  (although it is present on the page), no idea why.

removed test because whatever, if enable-test-fix-tour is ever rewritten and
fixed it may reappear.

bzr revid: xmo@openerp.com-20140219142115-5kpu5uvzpkwnt1ef
2014-02-19 15:21:15 +01:00
Xavier Morel 86a537e6a7 [FIX] typo method name
bzr revid: xmo@openerp.com-20140219140241-5p6u4t818mkuo74w
2014-02-19 15:02:41 +01:00