- Wrong 'year' filter that implemented in fact an 'active types' filter
- Add a real 'year' filter
- 'my leaves' uses directly the 'user_id' related field
- 'My Department Leaves' filter that mixed ids from different models
Closes#7685
When invoices are created from pickings, and that the user chooses to group by
partner, we make sure to keep the Reference/Description of all the source
documents. This is exactly what is done for the Source Document field.
opw-646903
When the user specifies a Date of Transfer ('date_done') and only transfers the
order partially, we must keep the value instead of overwriting with today's
date.
opw-646908
For account.tax.code and account.tax.code.template.
Sequences on account.tax.code are used for reporting.
However, it wasn't possible to edit them through the client.
Neither through the form view or the list view with a handle.
Fixes#1844Closes#2656
In internet explorer, writing direction can lead to wrong text direction
when combined with rotate.
A fix was already in place for IE up to version 9 but the issue also
happens in next versions which are more difficult to differentiate
(especially the current spartan/edge version).
So this fix use the same css property value for all browser and it doesn't
seem to have an impact (other than correcting the issue in IE).
closes#7955
opw-646430
During refactoring at 55f9cbf, lost translation of invoice lines.
The invoice lines should be in the partner language instead of in the user lang.
The analytic lines are browsed explicitely in the user language.
Fixes#7774Closes#7796
opw-646166
Instead of rounding the availability and reversation
of a delivery order line to the current UOM rounding,
we round to the generic Product of measure precision.
This is to have the real availability, even for a unit
of measure that normally cannot be split.
For instance, for a product for which the default
uom is 'Unit(s)', but for a specific delivery order
you deliver 1 'Dozens' of this product,
if you have 6 Units available, it will now display
that 0.500 'Dozens' is available and reserved, which
is what is actually happening.
Before, it displayed that 1 dozens was available, even
if only 6 units were available, on the 12 needed.
opw-643312
Firefox keep in cache the value of input.
So, when we delete a product line and call location.reload(), firefox
remember the value and state of this input and don't refresh with the new
value.
Adding True as param (forceReload) fixes the problem since it doesn't
use old value. Another way will be to add autocomplete="off".
ForcedReload (Optional): Is a Boolean flag, which, when it is true, causes the
page to always be reloaded from the server. If it is false or not specified,
the browser may reload the page from its cache.
This closes#7888#3342#7491
The function "_timesheet_ca_invoiced_calc" must not take lines from invoice in state "draft" or "cancel"
to compute timesheet_ca_invoiced. Inspired from function "_ca_invoiced_calc".
opw646602
otherwise when a method such as fields_get is overridden
using the new API, self.env.context is an empty directory,
and the translations cannot be performed correctly
Closes#7911
Authentication modules are supposed to override res_users.check_credentials()
in order to plug in their own mechanism, without actually modifying the
behavior of res_users.check(), res_users.authenticate() or
res_users._login().
auth_openid was incorrectly overriding check() instead of
check_credentials(), and unnecessarily accessing private
attributes of res_users. Fixing the implementation of auth_openid
to follow the API means we can completely make those attributes
private.
When pack operations generate extra moves, they should
take the same procurement group as those of the picking.
That way, when invoicing, they will be put on the same
invoice when there is a different invoice address on the
sale order.
In "Payment Follow-up" when clicking on "Send Overdue Email"
if contact with type = "invoice" and an email exists in the childs then
the email will be send to this contact else the normal behavior
is kept. When the overvue email is sent to a contact who is not the commercial
partner, a message is written in the chatter of the commercial partner to inform him
that the email has been sent to the "invoice" contact.
Closes#7870
opw:646149, 646575
The group applied on the purchase invoices stat button
was "Accountant", while "Invoicing & payments" is enough.
That way, the customer and purchase invoices stat buttons
have the same group applied, which makes sense.
opw-646748
Partial revert of commit 39d17c2580
of PR #4617, that broke translations by introducing a different
set of criterions for filtering translations in `_set_ids()` and
`_get_ids()`, adding the `module` column in `_set_ids`.
This meant `_get_ids` would see translations that `_set_ids`
would never update: the translation interface did not appear to
be working anymore as soon as a translation entry existed with
no `module` value.
This is likely for manual entries and for entries bootstrapped
by `translate_fields()`, as they do not belong to any module.
The situation described in PR #4617 probably requires an extra
fix in the translation import system instead.
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
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
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
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
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
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).
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
Before this fix, a PO line was set as invoiced if all associated invoices were
validated. This is an issue if the invoice_method of a PO is set on 'picking',
and that only a partial quantity is received and invoiced. Indeed, in this case
it was never possible to meet the condition, and the PO could not be set to
'done'.
After this fix, the PO line invoice state is calculated from the invoice state
of the related moves, if the invoice_method of a PO is set on 'picking'. This
is more logical, and moreover this makes possible to set a PO line as invoiced
as soon as all the related moves are done or cancelled.
opw-644399