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.
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.
The routing map should be static. Being calling from the old api (with registry)
there was no problem. But since the new API works with instance, a new instance
of the ir.http model will recreate its own routing map. This should have been
avoid during migration to new api of ir.http . Anyway, this prevent many mistake
for the website migration.
This fixes an issue when a one2many computed field is recomputed: all computed
lines are created twice.
Consider a simple case, where the value of the field is a single line. The
execution goes as follows:
* invoke `recompute()`
* write value `[(5,), (0, 0, vals)]` to the field
* command `(5,)`: invoke `unlink()`
* delete existing lines
* invoke `recompute()`
* write value `[(5,), (0, 0, vals)]` to the field
* command `(5,)`: invoke `unlink()`
* no more existing lines, return
* command `(0, 0, vals)`: invoke `create()`
* create a new line
* mark the field as recomputed
* command `(0, 0, vals)`: invoke `create()`
* create a new line
* mark the field as recomputed
There is a recursive call to `recompute()` inside `unlink()` that recomputes
the field while it is being written. The fix simply prevents the recursive
call to `recompute()`, just like in methods `create()` and `write()`.
The sidebar on the left of the quotation previews was placed with
position fixed in a col-md-3. Position fixed elements have their
width computed according to the window dimensions which is why it
cannot be 100% to fit the col-md-3. To achieve that, the old solution
was to set the width in pixel according to the viewport dimension (and
the size a col-md-3 has in each of this dimension). This was too easily
breakable. Indeed in the avantgarde theme, the .container is set to
smaller dimensions. So the col-md-3 is smaller too and then the fixed
width sidebar overflows.
To achieve the desired behaviour, javascript is needed. In CSS, the
position is set to "relative" and the width to "100%" so that the
sidebar fits the col-md-3 width no matter what. Then on page load and
on window resize, the sidebar is set to position "fixed" and to a
px-based width which equals its current and default 100%-width.
Without this fix, it is possible to confirm a PO which is not in state
'draft' and 'sent'. The issue is that it will create a picking at every
call.
The issue was occurring in Purchase Requisition, which was fixed in
previous commit. However, it makes sense to add a check directly in the
`button_confirm` method.
opw-684347
When gevent is enabled, some arguments are stripped to avodi being retriggered
in the other workers (e.g. update of a module).
The `--i18n-overwrite` was not stripped and the other worker raised an error has
the `overwrite_existing_translations` argument requires the `update` argument
(which is stripped in the `stripped_sys_argv` method.
Fixes#12566Closes#12986
Commit cfb8e8700a introduced a new template for meeting invitation page.
This template used bootstrap row's without any container which added
an ugly useless scrollbar at the bottom.
This commit uses valid bootstrap by simply removing the bootstrap
column layout (as there is no column but only centered content) and
using a simple container. Also, wraps the table in a .table-responsive
div so that the template is mobile-friendly.
Also fixes a typo in the template name.
The Portuguese Timorese escudo is no longer used since 1976.
The East Timor is now using the USD since 2001 (not sure what they were using
between these two).
When an internal move is partially delivered, name of the backorder is
'False'. This also occurs if an internal move is copied.
This is because there is not sequence for code 'stock.picking.internal',
but there is one for 'stock.picking'.
opw-683725
This tries to be the smallest patch possible in order to avoid triggering
another display issues, so we only patch in the ms-hight-contrast section
which only applies on ie 10/11.
* The view-manager weren't displayed correctly; they didn't fit 100% of
the screen width. This is fixed by explicitely seting the top, right,
left, bottom attributes.
* The modals content were not displayed. This was due to 2 issues:
* The rule that we patch in the first point set the position of
`oe-view-manager` as absolute with an importang flag. Because of
this important, the rule that reset the position of the
`oe-view-manager` as static in modals.less was not honored. So
we also patch this rule with an important flag inside the same
file (so that all the fixes related to ie10/11 are in the same
place).
* Now that the modals are displayed, they do not fit 100% of the
screen. It's because the `max-height: 100%` of `.modal-content`
set in modals.less does not work in ie10/11, due to some bug
with the flex displays. We set the height to 450px so that the
modals are kind of correctly displayed on a 1366x768 screen
(their content are still scrollable).
related to rev 1ccd87a037closes#12929
The field symbol is not required on a res.currency (it should and will be
changed in master). In case it is not set, do not display the currency in the
rapport.
Fixes#11346