Those features are available on client-side ir.filters
via pyeval, so it's useful to have them on the server-side
so the same ir.filters can be used as well.
This revision adds the possibility to use the key
`default_category_id` in the context to set
the UoM category when quick creating a new UoM,
like it's the case everywhere else with the
`default_*` keys passed in the context.
Closes#4407
Users subscribed to creation of records (new leads in a sales team, new
tasks in a project, etc.) are never notified. The reason is that users
were subscribed after the record creation notification.
Introduced in 43915a8721Closes#8723
Like view manager containers, client action containers needed the
overflow:auto property to compute their correct height inside their
flex context. This also allows client action as the reconcilation in
accounting to not care about their height.
The calendar has now a minimum height so that it appears bigger in
mobile. In mobile the height cannot be computed to maximum because
the webclient has not 100% fixed height. The height has been set
so that in appears maximum on a 720p android mobile on chrome at
the time of this commit.
The calendar is now also resizing itself correctly after a window
resize.
Before this commit, it was impossible to scroll the calendar
horizontally if needed. Notice that the solution breaks the full
calendar layout and require JS scrolling so that the events are
still positionned correctly.
In this test, we set the incoming picking type not
to require any lots. The outgoing picking requires lots
and should convert the stock without lot into stock with lot.
The method that set `geoip` in the session, `_geoip_resolve`,
is called just before `self._authenticate`, which logout the user
when the session is invalid, and therefore reset the session.
Therefore, `geoip` could not be in the session in that place.
This isn't that bad, as, at the next request, the `geoip` will be
correctly set in the session.
During the analysis of this issue, we observed that the reset
of the session is actually not saved, because the save
of this session is done in `Root.get_response`, through the call
`self.session_store.save(httprequest.session)`,
but `Root.get_response` is not called in `Root.dispatch` in case
of HTTPException (500 internal server error in this case).
This might need to be changed, to do the session save with a finally
in this `Root.dispatch` method, so the above bug could have been
resolved with a simple refresh (which would have re-defined the
`geoip` in the session).
opw-650416
When a new field has to be computed for the first time on existing records,
mark that field as todo, invalidate it in cache, and perform all recomputations
at once at the very end.
When ordering on the ecommerce,
if a payment transaction was found in the session,
this transaction was used as transaction for the current order.
Nevertheless, if the transction is no longer linked to
the current order, we should not use it.
This happened, for example, when the quotation
was deleted while the customer/user didn't close
its browser, and the transaction id was therefore
still in its session.
opw-650417
The display of next actions has been slightly cleaned. Indeed some links were
displayed only in edit mode, and the order was strange.
Also moved code beloging to crm.team into the right file instead of having
2 overrides in the same module. Also cleaned its code.
- Many CLA PRs initially fail the CLA check because the email
used in the signature is not the git committer email, so we
cannot match them.
- Minor spellchecking
This revision is related to:
- 503820acb6
- 3b02e3d63d
The taxes used to define the price must be the product taxes
of the company of the order.
Closes#8759
In a SO, the unit price of the suggested products must be computed with
the pricelist linked to this SO. Inspired from function 'product_id_change'
in model 'sale.order.line'.
opw:650168
For report with duplicated named headers, several columns could get
squashed together.
This fix check if a value is a duplicate or not, and if it is a
duplicates postfix an number allowing to differentiate the two headers
(for the human and the javascript).
This is the exact same solution than #6722
Backport of 5cff8fbb7c
opw-650000
Instead of using 2 security groups to make sure
internal pickings are not shown in the dashboard
when not in multiple locations,
picking types are deactivated when the warehouse
is one step in/out and not in multiple locations.
That way it will work the same for other kanban views.
The colors of the kanban view are also changed.
Useless now that rev f26988c allows the use of asset.
Also, it was partly used to retrieve the content of the
`report.style` template that was removed by rev c9492f8.
The preferred way to add local style and stylesheets is to add them
directly in the assets.
- now possible to archive lost reasons. Indeed some reasons may become
unrelevant after some time.
- updated access rights on lost reasons: manager can create / update them
salesmen can only use them
- add archived filter
Since commit 78cc0b95f4, there was no more
way to invoice the actual price of a shipping (after the transfer).
In order to make that available again, we introduce a new field on the
sale order. This field automatically detects whether a sale order
contains a "delivery" line or not, at sale order confirmation
(action_confirm).
When the delivery order is processed, the actual shipping cost is thus
repercuted on the sale order if and only if the shipping price was not
"forced" at the sale order confirmation.
(and a few refactoring to avoid copy-pasting code lines)