Before this commit, there was a crash when sorting a one2many in a form view.
This is due to the fact that the event from the one2many bubbled up to
the main form view, which basically assumed that it was supposed to sort
some sub one2many.
It could be seen for example when editing a 'attribute' in a product
form view (need to activate variants), then sorting the 'attribute
values' sub one2many.
With this commit, we simply stop the event propagation at the correct
level.
The `upgrade_boolean` widget should display an `Enterprise` label next to it.
There is however an issue when a `label` is specified for this field. In this case,
the `Enterprise` label should be placed next to the field label (and not the field
itself).
The easiest solution would have been to instantiate the field widget with its label,
but this can't work because the field widget is instantiated before its label.
We thus re-render the widget after its label creation.
KanbanColumn instances are saved in an array in the renderer. The quick
create widget is always put in the first column found in this array.
Unfortunately, the array elements' order was broken after some
operations where column(s) are rerendered (like moving records).
The server postproccess the view to add attributes on many2one fields, i.e.
`can_create` and `can_write`, according to access rights.
These attributes are parsed by the client as string but should also be parsed by
the many2one when evaluating them.
The mock server has also been adapted to set these attributes.
When have more than one company, for all companies, the cash
basis journal set in accounting configuration will be
always the related to first company.
This issue cause the followiong error trying to validate an
invoice for a company different to fisrt one:
'Cannot create moves for different companies.'
Because exist a 'cross-configuration' in the cash basis
journal.
The solution to this issue is include the company in domain
that does the search for cash basis journal.
Steps to reproduce the bug:
-Let's consider a company A in the currency MXN
-Let's consider two invoices for customer C in USD one of 150$ and one of 50$
-Create a payment P of 180$ for customer C
-Reconcile P with the first invoice of 150$(with button add on the invoice)
-Go to the other invoice of 50$
Bug:
The residual amount of 30$ is not suggested.
Fix:
The residual amount is set in amount_residual_currency, that's why it
was not detected by the domain. Now the residual amounts in other currency
are also detected for the reconciliation.
opw:769090
Move a record from one column to another in a kanban grouped by a selection field
leads to a traceback.
A selection field value is composed of a tuple ('value', 'String') and the write
command must send the `value` and not the `String` as it was done before this rev.
Clicking on a cell that contains a button (but not ON the button) leads to
a traceback (see "Scrap" button in Stock Operation for example).
This is due to the fact that a button is not registered as a widget so it can't
be activated.
This commit ensures that the next line is selected if the last column is a
buttton.
When registring a supplier invoice, if no sequence exists for code "account.payment.supplier.invoice"
then it failed for the creation of the counterpart lines because a name is required to create an
account move line.
ps: check function "_get_liquidity_move_line_vals" for the condition.
opw:767224
Steps to reproduce the bug:
-Go to the shop
-Add an item to card
-Checkout
-Insert address info
-Click proceed
-Enable "Accept Terms & Conditions"
-With the HTML Editor, remove the attribute checked="checked" in template Accept Terms & Conditions
Bug:
-Pay Now button is clickable but the Policy and Procedures box was not checked.
opw:771418
Before this commit, the invoice analysis report summed the amount of invoices regardless of whether they were in or out,
as if it were an absolute sum.
This commit corrects the behavior back to v9's, where in_invoice have the minus sign and are hence subtracted
opw 769409. Was PR #19413
Echoes commit c255342e8f
Before this commit, the image that was fetched for the quotes was the static one, preventing it to be changed
Now, the image is dynamically fetched
OPW 769701
closes#19417
The id is useful to update existing events but sometimes we are getting some
ids that are not accepted by Google
Getting an error:
odoo.addons.google_account.models.google_service: Bad google request : {
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid resource id value."
}
],
"code": 400,
"message": "Invalid resource id value."
}
}
Looks like existing events can have a _ in their id but new one, no longer.
It seems that these events are created by outlook calendar when synchronized
with Google Calendar.
opw-749752
opw-751294
opw-751348
-Make a return picking from a SO, and condigure the items to be refunded on SO(in the wizard)
-Copy the return picking.
-Validate it.
Without this fix, it would just keep decreasing the delivered value on SO.
opw:767429
- Go to Accounting > Configuration > Journals.
- In the form view of a journal, click on Action > Voucher Entries
- Click on Create => traceback
opw-771415
- Create 2 companies:
- Company A and check VIES VAT Check
- Company B and do not check VIES VAT Check
- Set current company of admin to Company A and do not allow Company B
- Create a demo user on Company B and give him Adviser group in
Accounting.
- Log in with the demo user.
- Create a Customer A as a company with:
Country = Spain
TIN = ES85847955H
- Create a contact on Customer A: "Contact Sample"
- Create a Customer invoice on "Contact Sample" partner
- Through the menu Accounting/Payments, create a new payment on "Contact
Sample" partner with the total amount of the invoice.
- Open the menu Manual Payments and invoicing matching. The invoice and
the payment should be proposed for reconciliation. Do CTRL+ENTER.
An error message appears: 'The VAT number [ES85847955H] for partner
[Contact Sample] either failed the VIES VAT validation check or did not
respect the expected format ESA12345674.'
This message should not appear as the current user is on Company B which
doesn't have the flag "VIES VAT Check" checked.
The issue comes from the `sudo` in `mark_as_reconciled`, which will lead
to `self.env.user` to be the admin in the VAT check, and therefore
`self.env.user.company_id` will be Company A.
Closes#19274
opw-770018
When selecting a partner in the reconciliation widget, using the SelectCreateDialog
(Search More), the partner wasn't correctly displayed.
This was due to a difference between the change format of the many2one ; when using
the dialog, only the `id` is sent (while the `id` and `display_name` are sent when
using the many2one dropdown).
These two behaviours are now standardized and both now send `id` and `display_name`.
It has the advantage of sparing some `name_get`s called by the model because the
`display_name` was missing.
This change implies some refactoring where the SelectCreateDialog was used.
The module studio gives the abality to name columns or tables with
upper cases. So making the SQL case sensitive avoids problems with studio.
opw:770022
- Create a purchase tax computed with Python code.
- The Python code must use an attribute of the product, e.g.
`product.price`.
- Create a PO using the created purchase tax.
It crashes, because the product (as well as the partner) is not sent to
the `compute_all` method.
opw-770078
1df72cb01b added a stringification of
the domain parameter to handle situations where an actual
domain (list/tuple) is being provided rather than a string, however
this causes issues when the string input is text (unicode) containing
non-ascii data as in Python 2 `str()` will then raise a
UnicodeEncodeError.
Rather than stringify the input, bypass safe_eval when the input is
already a proper domain.
Closes#19367
- Associate a product with a "Deferred Revenue Type"
- Create a customer invoice and add the product => the account of the
deferred revenue is used.
- Create a SO with the same product, and generate the invoice => the
account of the deferred revenue is NOT used.
opw-769254
Before this commit, the xml attributes defined with 'context.get(key)' in the
subviews not inline were not evaluated correctly. This was caused
by the loss of the one context in the '_loadSubviews' method.
This commit fixes this issue and modifies the mockserver in order to be able
to use the parameter 'viewOptions.context'.
Before this commit, when an event had only a date, the event
was set to midnight.
This commit sets the event as all day event if the field used as start date
is only a date and not a datetime.
In some cases, the consumed quants can be more than one.
In this case the check for the lot must be done just on the first
consumed quant. Courtesy of @jco.
opw:748472
- Create a vendor bill
- Register a payment in the future (e.g. Bank payment)
On the dashboard, this payment in the future is taken into account,
while it shows a graph up to today. Moreover, when clicking on
"Difference", the report is opened at today's date.
opw-768155
- Change the date of an event through the form view
=> a mail is sent to the attendees.
- Change the date of an event thanks to the drag and drop of an event
=> the mail is not sent.
It is necessary to introduce a context key in the write call so we can
make the distinction between the write triggered from the drag and drop
and the write triggered by a recomputation of fields. Indeed, when the
form view is used to change the date, `write` is called several times.
We should avoid sending the same email each time.
opw-766295