Normally when you manually add or remove money from the cashbox the
reference on the bank statement line should be set to the name of the
session. But because the wrong function names where used this didn't
happen. Introduced by f5ad251686.
Fixes#12224
If `probability` is not being written,
`vals.get('probability')` is `None`
`None` < 100 is `True`
While it should not remove the `date_closed` value
when the probability field is not being rewritten
on the lead, but something else is.
opw-677273
In v9, stages are not shared by default. So when you create a new job position,
you need to specify manually which stages are available for this job position.
But the field stage_ids was not available.
onchange_picking_type func now return picking_type_code
The stock.picking has an attrs to hide the partner_id for internal transfers.
It was not set as picking_type_code was not set.
Closes#12117
When creating an invoice line from a PO, if the product is linked to an Asset type
then the account used for this line must be the expense account.
When creating an invoice line from a SO, if the product is linked to an deferred revenue type
then the account used for this line must be the income account.
`all([]) = True`, therefore if there is no `matched_debit_ids` or
`matched_credit_ids` on a payment ==> boom when you access
`payment.matched_debit_ids[0]`
opw-677157
Closes#12232Closes#12242
Odoo serves files based on the mimetype imported with python module Mimetype.
In some case, mimetype on windows for svg is undefined or misconfigured and
the svg is returned as text/plain (and so xml and not img).
This commit overrides the default mimetype to render .svg file with mimetype
'image/svg+xml'.
It is similar to add/override the key from windows registry with:
```
[HKEY_CLASSES_ROOT\.svg]
@="svgfile"
"Content Type"="image/svg+xml"
```
The advantage to override it in Odoo, is to be sure that even if this key has
been updated or deleted by a cleaner software or malware, Odoo continue to work
This closesodoo/odoo#12150, closesodoo/odoo#9061, closesodoo/odoo#9118
When a user goes through the trouble of manually modifying the
depreciation lines he will lose all his work when clicking on 'reset to
draft'. Furthermore, if he then goes through the trouble of repairing
the problem by once again manually changing the depreciation lines he
will again lose his work when pressing confirm.
opw-678678
Used case:
Create a SO with invoicing policy based on delivery. Don't deliver
anything and Create invoice for all invoiceable lines.
Result:
There was no invoice created and no warning message.
After the fix:
A warning message is raised when after clicking "Create
invoice",for any reason it doesn't create an invoice.
opw:678567
There is no way to directly create restaurant.table records in the
backend. The only way is through adding it directly to the table_ids
one2many on restaurant.floor and when doing that floor_id is
automatically set.
Closes#8705
Symptoms: running a full reconciliation manually with that wizard was resulting in not fully reconciled aml altough the total in company currency and in secondary currency were perfectly matched. Full use case described in added test test_manual_reconcile_wizard_opw678153.
Problems:
- The system was processing by pair of aml and creating exchange rate entry/full reconciliation as soon as possible whereas in that case it needs to be postponed at the end of the manual reconciliation otherwise some entries would be excluded from processing.
- Another problem was that because of this batch processing, we ended with unconsistent amount_residual_currency values for some entries that were fully reconciled in company currency but not in foreign currency (also negative amount_residual_currency for a debit line which should never happens)... To solve that, we now process the manual full reconciliation in two steps: only in company currency first, then in secondary currency if needed. A small adaptation in the payment widget of invoices was needed for that too.
The issue occurs in the following case:
- Configure 2 product categories A and B such as A is the parent of B
- Create a pricelist
- Create a first pricelist item which applies to category A
- Create a second pricelist item which applies to category B (with the
same configuration regarding the minimum quantity)
- Create a product for category B
Before this fix, we cannot ensure that the pricelist item related to
category B will be applied, since we do not order the pricelist items by
category.
Thanks to this fix, we make sure to select the category from the more
specific to the less specific.
opw-678633
When posting on a thread the user can be auto-subscribed to its default
types. But if the user has previously been subscribed to other subtypes,
those are lost.
With this commit, user mentionned (@{username} in message) or added as
follower for default subtypes are not subscribed if they were already
followers of the record.
So if default subtype is "Comment" and user was only following subtype
"Alarma!" (by checking it and then un-checking "Comment"), then if the
user comment:
-> before this commit, the user would then follow subtype "Comment" and
not follow anymore "Alarma!"
-> after this commit, the user would follow the subtype "Alarma!"
closes#12008
opw-669127
opw-673766
When installing website or one of its dependencies directly, the website
attribute is not defined on request. If the installation triggers qweb
rendering [1], we need to correctly check the presence of the website
attribute, which this commit does.
[1]: This is the case in website_blog since
4a132e2afb
This reverts commit 44e8b92beb.
The condition is wrong as a view starting with DOCTYPE as top element will be
excluded, including its child (the whole page them).
Re-add the translatable title that was excluded by the condition.
Give the same as access rights to the employee as for the public user.
This patch is needed to allow a user to access the partner form.
Same for portal.
The list of grades in not a confidential information.
Fixes#7719
When the admin creates a SO, he has access to all taxes (since ir.rules
do not apply to him); therefore in some cases, the SO could be created
with SO lines that have taxes from other companies. This usually does
not make sense.
From this revision on, only taxes that are in the same company as the
SO are applied to the lines. If no company is set, then no filtering
is done.
This is a fix for f04f409943, which only
prevented the workers from being spawned in Prefork mode, while the
socket was still being bound to - this is a problem when starting a
worker-only server as it cannot coexist with the XMLRPC server on the
same machine.
Closes#1828
When merging leads with a company set different
than the current user company,
it failed because the notification email (the message
written in the thread summarizing the merge) couldn't
read the company name (the `name_get` call on the company)
because of the multi-company record rule.
`name_get` can be safely called as `sudo`, as it does
nothing else than returning the name of the record. This is
already done for the many2one links in the web client anyway
(You can see leads from a company different than yours,
you can see the company name to which the leads belongs to,
but you can't click on the company many2one link)
opw-677986
When sending a notification email to an event attendee
for an all day event, the timezone must be ignored
as the `start` and `stop` datetime are stored as
the day date + '00:00:00'. If the timezone is applied,
for users being in a negative timezone (such as an American
timezone), the day displayed would be the day just before.
opw-677019
c8732bea1e did not take into account that
we don't have specific callbacks for weight or price type
barcodes. Those where handled by the product callback.
opw-678556