Using a selection field as color filters in a calendar view
had as effect to display the second letter of the state name
(The state name string, index 1)
as filter, instead of the full state name.
Besides, the colors of the filters did not match.
e.g., Sales > Sales > Sales Orders > Calendar View
opw-646486
POST requests on routes with auth="user" are now correctly handled when
the user is not connected. Request data (form and files) are stored in
the session. Once the user is logged, redirect her to a specific route
that will reprocess the original POST request.
The problem originally arises in the frontend (eCommerce). In this case, it is
necessary to switch the user id to the SUPERUSER_ID in order to be allowed to
create a SO. This is done in the method sale_get_order in the module
website_sale. The consequence is that in a multicompany configuration, all taxes
of the product will be retrieved and applied in the frontend.
This fix filters the taxes retrieved to keep only the ones which apply to the
company of the partner, when the user id is SUPERUSER_ID.
opw-645258
opw-645915
Before this addition, cancelling a bank statement line was allowed even if the
bank statement was confirmed. However, when the bank statement is confirmed, it
is not possible to reconcile it afterwards. The consequence is that is was not
possible to reconcile this bank statement line without cancelling the whole
bank statement, and therefore forcing the user to do the complete
reconciliation process again.
With this addition, it is not possible to cancel a bank statement line if the
corresponding bank statement is confirmed. However, we offer the user the
possibility to reset the bank statement to draft through a new button. This new
button will only change the state of the bank statement, and will not modify
the state of the associated bank statement lines. The consequence is that the
user will be able to first set the bank statement to draft, then cancel the
bank statement lines he wants, and finally launch the reconciliation process
only on the lines which were cancelled.
opw-645903
Timesheets entries could only be created with the help of the magic
default_is_timesheet=1 set in the context, thus in views.
To allow manual creation or import of timesheets by setting is_timesheet=True
directly, the values of invisible but required fields will be computed at
create insted of default_get.
Odoo allows bad formatted emails for partners (and attendees).
Google doesn't.
Therefore, upon sync, if the email is wrong, we do
not send it to Google, to avoid Google being mad at us.
opw-646369
For debugging easyness.
For instance, when trying to sync an event with an attendee
with a wrong email, google failed, it's wasn't easy
to know why from the logs
It is now a bit easier.
opw-646369
By convention, configuration wizards inheriting
from `res.config.settings` must define
their default values methods by
`get_default_`
not simply by
`get_`.
If not, the default values will simply not be loaded.
Therefore, the default value for the `Google Doc Key` field
was not loaded in the Website settings
(Settings > Configuration > Website Settings).
opw-646659
Due to the fact the background color was hardcoded, it
wasn't possible to edit the colors of the button link
with the website editor wysiwyg
opw-646655
Buttons that are not stat buttons couldn't use font-awesome icons, as it
automatically fallbacked on the icons in /web/static/src/img/icons. This was
the case for several templates where the icon thus couldn't be found as it was
looking for a font-awesome icon in the icons folder (e.g. fa-cog.png).
Also cleans some unused less rules defined on the stat buttons in
enterprise_compatibility.less
This regex is used for a quick sanity check of
the order_spec in `search(order=<order_spec>)`.
Because it was build on the repetition of a
group ending with a series of optional patterns,
it could cause expensive backtracking when the
order spec did not actually match the regex
(the regex engine was trying all possible ways
to split the groups)
Forcing the repeating group to either end
with a comma or the end of the string prevents
prohibitive backtracking, while being even
more restrictive with regard to the syntax of
the order spec.
Closes#7755
Commit 96f0c28 contained changed code in saas-6 (widget.order
becomes order) and the string Unknown Customer is not anymore
present.
So the commit is useless in saas-6 and higher.
related to forward port d383598
Fixes 4 actions where a whitespace was inserted in the view_mode, resulting in
an unknown view_mode (' graph') in the view_switcher.
Also updates the doc to prevent people to think they can insert whitespaces in
the view_mode definition.
Action and view managers render theirs elements in document fragments, and
append them to the DOM once they are ready. The dhtmlxgantt v.1.3 requires that
the gantt diagram in rendered in the DOM. This rev. is an hack to ensure that
this is always the case.
Note that this is no more a requirement with dhtmlxgantt v.3.1.
Complements commit af9393d505
in light of commit 62b0d99cfe,
to really have the correct effect.
When the prefetching failed due to the presence of
extra records in the cache (for which the access is denied),
the `read` operation was indeed retried. However the
result was not stored in the cache because the cache
already held a FailedValue (automatically added when the
prefetch failed).
The existence of the "Service" product caused issues when users would
eg. remove this product.
We allow user to create timsheets even if they dont have an employee associated
or if the product is missing on the employee. Those timesheets can still be
invoiced using the force product field of the wizard.
product_id is left blank if it cannot be deduced from the associated employee
and the amount is zero.
account_id is left blank we it not required anymore
journal_id is set the first general journal found.
By default, the argument to pass the record values is `vals`,
not `values`.
Besides, it's not mandatory to provide the argument name
when it's not optional.
opw-646374
There is no `to_id` field on the model `im_chat.session`,
but there is a `channel_id` field.
This is probably a copy/paste mistake, as the rule
just above had the same exact domain.
opw-646243