Before this commit, the scroll was reset to the top of the calendar after
an event quick create.
This commit fixes this by defining the get/set localState for the calendar
renderer in order to keep the scroll and calling 'reinitView' from the
fullCalendar lib instead of always calling 'render'.
- Import a CSV file without header
- Untick the option 'The first row contains the label of the column'
An error is reported.
If no header, the method `_match_headers` should return consistent
object types.
opw-769117
Before this commit, we did not really handle gracefully editing a
one2many with many records. The main issue is that if the user was not
on the last page, creating a new record added it to the last page, which
is confusing and actually a bad idea for records with required fields.
This fix requires a way to track the current changes (because we do not
display the current state of the form view: the new record is displayed
in the first page, but is actually added at the end of the dataset).
Note that this probably does not solve all issues with pagination. This
is a quite delicate problem. We will add tests and fixes as needed.
We have a new runbot server which is quite slow. Because of this, it
takes too much time to run this unit test suite (for comparison, one of
the last build by the main runbot takes 126s).
This is necessary for now, until we use chrome headless or something...
It does not have any impact in current stable as the inherited
method does not use it. However if another addon inherit it
it will not receive access_token depending on call chain. Let
us fix it.
Before this commit, we could temporarily change cashier from A to B, and back to A seamlessly just by refreshing the page.
This could be a security issue for a cashier is held responsible for its sales.
This commit stores the cashier in localstorage, and with the right sets of methods, corrects the issue.
OPW 767827
closes#19207
The default size limits set in base.sql are eventually superseded by the
actual limits (or absence of) when the DB schema is synchronized with
the Python model definitions.
However the list of modules (name, authors, descriptions, dependencies)
is loaded before this can happen. The length of the author field is one
case that can easily crash the database bootstrap process at that point,
should a module with a long author name be present in the addons path.
After schema sync, that size limit is lifted entirely (although Odoo Apps
does limit the max author name length to 512 at the moment, to prevent
abuse).
Fixes#5850
Do not prefetch unnecessary fields during the uninstallation of modules.
Previous to this commit, prefetching of unnecessary fields would cause server crashes
on some modules that add a field on ir_model_fields.
i.e. website_form
Do not prefetch unnecessary fields during the uninstallation of modules.
Previous to this commit, prefetching of unnecessary fields would cause server crashes
on some modules that add a field on ir_model_fields.
i.e. website_form
Before this commit, when trying to edit through the website editor the product image, it was in fact the product variant that we edited.
This commit corrects it and when an image is displayed, the model it comes from is reliable
OPW 767539
closes#19168
Before this commit, a message received through the contact us form did create a Lead, but any notification was impossible (even if a user was a follower of the relevant sales team.
This was because the default sales team is integrated in the values for create in models.py, which mail_thread can't see, but needs in order to notify
This commit corrects the behavior which now converge with standard lead creation by adding the default sales_team earlier in the values for create
OPW 762651
closes#19180
As in a7985a5ab the SO could be in another company than the linked task
and this should not hamper creating / modifying timesheet lines in the
task company that happened since 71bb9a09.
opw-34138
closes#19234
When the last selected category or search criteria in eCommerce had
no products(No product defined), the website category tree was not
clickable.
opw:767021
... sometimes.
When a dialog is destroyed, the last opened dialog (the one which
is just below), if any, is focused. This allows to close it
directly by pressing ESC. For an unknown reason, this was done in
a setTimeout (delay 0).
The problem is that the setTimeout made some JS tests fail
randomly, when a test ending by closing a dialog was executed
right before a test using a many2one inside a dialog. When this
happened, the second test failed sometimes because its dialog was
focused (because of the previous test) while waiting for the
autocomplete dropdown to open, triggering a blur event on the m2o
input, and thus making jquery autocomplete aborting the search,
and the opening of the dropdown.
- Enable several shippers
- Enable Paypal acquier
- Buy a product on the eCommerce, go to payment page
- Change the shipper
While the page is reloading, the user has time to click on the 'Pay Now'
button.
opw-748467
Archived products still published on the website will trigger a
traceback when accessed (the link might still exist in a search engine
results).
opw-767740
Use case:
- a tax of 10%, computation method: percentage of tax included
- a account_reconciliation_model with an amount of 90%
- make a statement of 1.31 (or something weird when it comes to digits)
- reconcile it with a counterpart
- prefill that counterpart with the account_reconciliation just created
- push on reconcile
Before this commit, the amount that was computed was not rounded, resulting in making unbalanced account_moves (by 0.001)
This was invisble since the display of monetary is rounded
After this commit, the rounding is done according to the currency's parameters and produces correct move_lines
OPW 751881
This rev. fixes several issues with the sorting of dataPoints of
type list in the BasicModel.
First, only 'static' lists (i.e. x2many lists) must be sorted
client-side, and results of search_read RPCs must remain unsorted
as they are already retrieved sorted from the server.
Second, editable and non-editable x2many lists don't behave the
same with respect to sorting (we reproduced in this commit the
behavior of saas-15). With editable lists, the edited rows are
unsorted, except if the user explicitely ask for a sort (by
clicking on a column header), until the form view is saved. With
non-editable lists (as for x2many kanban), the sort is performed
directly when a record is created or updated (as the edition is
done from a dialog).
The FieldMany2ManyTagsEmail requires that the records in the
relation have an email address set. However, it didn't take into
account the changes that might have been done on the field's
value (i.e. the check wasn't applied on subrecords that just had
been added to the relation).
Regular employees are added to the timesheets user group
so they can access to the Timesheets modules.
Requiring timesheets users to be HR Officer would almost mean to
require all employees to be HR officer, which is not the case.
The above is the result of the revision
a806f96fa2
Before, the timesheets user group was the
timesheets officer group, and it was the only
group for the module timesheets. There
were no timesheets manager or user group.
This group implied the HR Officer groups,
but it made sense as it was the Timesheets
Officer group.
Now that it is the timesheets user group,
it doesn't make sense to imply
the HR Officer group.
When you change the quantity done of a done move of a product valuated
by standard price in perpetual valuation, the price used to update
create the corrective journal entry is the price unit of the move
instead of the standard price.
This behaviour leads to iconsistancy like having a empty stock and still
have a valuation on the stock valuation account.
To fix this issue, we check if we are working in standard price and use
the standard price of the product instead of the move unit price.