Purpose
=======
Now all the abandonned cart are marked as 'cart_recovery_email_sent' in any cases, whatever the email sent.
Specification
=============
The SO should be marked as 'cart_recovery_email_sent' only when the cart recovery email is sent.
Now:
- Animations do not trigger on first rendering
- Fix a bug where 5k was considered smaller than 9 (since 5 < 9)
- Properly animate number when it crosses over multiple thousands levels
- Always preserve at least 3 digits when switching to a thousands level
and never show a decimal (4500000 is represented as 4500k, not 4.5M)
- Monetary symbol is not bold (and is better integrated)
- Add thousands separators for > 3 digits numbers
Before this commit, when trying to preint an invoice when minimal company details were set (without the logo),
- the wizard of company edition was not clear enough on what was needed
- did not print on clicking save
After this commit:
- the wizard is clearer, specifically it tells the user to add a logo
- clicking on save now prints the invoice, even though no logo has been set on the company
- bg-*-full color classes were only defined in enterprise while they
should have been defined here (fixes kanban column progressbars)
- new @gray-lighter variations should be defined in variables.less
as they are bootstrap extensions, not bootstrap overrides
Commit 0e4f3bb959 turn scheduler
cron to inactive though it should not.
It also rename the MRP in the name since the scheduler is not
only relative to mrp.
It could exist issue with concurency. If the user try to
open the inventory menu but the database can't obtain the lock
for quants to modify/delete. It could raise a traceback to the
end user.
In order to prevent that we use a try catch and pass the exception
it's okay if all the quants are not merged for the user, it will
probably be the next time. It also use a savepoint in order to not
rollback the whole transaction.
The merge quants was only used once the user click on inventory
menu. But if the user only do it once every 2-3 years, there could
be too much quants to merge in only one transaction. In order to
avoit it, we also deduplicate quants in the scheduler cron.
Purpose
=======
Steps to reproduce:
Remove current default language of your website, it doesn't change the default language which makes the website crashing on edition.
Purpose
=======
Links in the dashboard are not working, when clicking on them nothing happens. Either they should do something like other app's dashboard or they should not be clickable
Before this commit, it was possible to set an illegal date such as november 31st as the fiscal date, messing with all the reports
Now, a new constraint is implemented at save time to ensure the date is correct
closes#19612
Introduce a new attachment field (access_token) to allow external
unauthenticated access. This will be an opaque unique number
(typically a UUID) that should be provided via an appropriate
controller, for unauthenticated display.
The field is intended to be NULL unless unauthenticated access has been
allowed, in which case a value will be set for the access_token.
This could be used e.g. for allowing access to images within mailings,
even when the recipient is not logged in (which is sometimes entirely
impossible, when email providers use restricted proxy servers to
load images)
Note 1: this is still a work-in-progress, but serves to freeze the API.
The implementation of the access check and provisioning of the new
field will be added later.
Note 2: namimg collisions with the file download token prevent the use
of a shorter 'token' parameter for download routes.
Apologies for the late (and incomplete) addition in saas-18 :-/
After removing the `sha_in` params a while ago, we get rid of
the deprecated `token_field` option.
- Make `token_field` a model attribute, so that each model can easily
define the token field that should be used, and it does not need
to be passed around all the time anymore.
- Rename `_special_access_object()` to `_has_token_access()`, much more
readable since it returns a bool
- Do not forward the `attachment_ids` keyword arg to message_post,
as it sometimes contains unrelated IDs (the helper is not meant
to post attachments anyway)
- Update callers accordingly
The command does not need to remove existing relations, as there is no relation
yet on new records. This saves one query per many2many field with that command
in a `create`.