Before this commit, for some synced users, a weird behavior was happening when an event was created in Microsoft: the event info was being sent to Odoo with a different organizer than 'self.env.user' even though it was the same user creating the event.
After this commit, a condition checking if the event was created in Microsoft is added for skipping the checking since only events created in Odoo can have different organizers during their creation.
Issue from: 3450045
closesodoo/odoo#141481
X-original-commit: 176ca9789b0c2e032773f3ba2c72ab7e2ed24d91
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
Signed-off-by: Gabriel de Paula Felix (gdpf) <gdpf@odoo.com>
In stock_production_lot model, there is a field last_delivery_partner_id which is displayed in a Tree View. This fields require to compute ALL the delivery_ids of each LOT, only to display the last_delivery_partner.
This implies a big performance issue for big lots with huge tracability needs in it. The idea is simple, dissociate the computation for delivery_ids, which is only used in Form View and the last_delivery_partner_id which is only used in the Tree View.
I do agree that if both are used in the same view, it would double the computation time. But currently there is a lot of useless computation. Currently the only way to mitigate is by removing the field last_delivery_partner_id in the Tree View, but if client needs that field, it doesn't works.
Benchmark
|Lots/Serial |# Lots | # Delivery | Before PR | After PR |
|:------------:|:---------:|:--------:|
|Lots| 3 | 3 | 0.2723 s |0.0091 s |
|Lots| 4 | 6699 | 307.98 s | 0.0059 s |
|Lots | 13 | 9575 | 569.85 | 0.0036 s |
|Serial | 80 | 80 | 0.30 s | 0.42 s |
|Serial | 150 | 150 |0.39 s | 0.51 s |
|Serial | 7000 | 2000 | 0.50 s/Batch of 1000 | 0.60 s/Batch of 1000|
closesodoo/odoo#141301
X-original-commit: 9ed2b69cc06b1da481dfdc376dab50738a0471dd
Signed-off-by: Benjamin Hanquin (beha) <beha@odoo.com>
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
This commit adds the missing neutralisation necessary for the `pos_paytm`
module introduced in [1]
The purpose of the standard neutralisation framework is to allow us to
create database copies that will not interract with external systems in
ways that could impact the production database (or if it is not possible
to prevent the interractions, make sure that they are benign or wont result in actual changes),
or impact the customers of the operator of the production database.
This is mainly useful to allow safe support investigation on database
duplicates.
[1] https://github.com/odoo/odoo/pull/133334closesodoo/odoo#141839
X-original-commit: 8c511a7f95a7fa0a7c1c0610a353eacd0fcc3b83
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Facturae is auto_install and as such if you want to
do e.g. simplified invoices in the PoS, it will give
an error telling that you need a VAT number as it tries
to send it (generate the Facturae) from the PoS.
So, we deactivate Facturae when the invoice is simplified.
closesodoo/odoo#141832
Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
In the pos one cannot make a payment that is larger than the
required amount if there is no cash payment option.
In order to check this there is a condition in the `payment_screen`.
The problem is that this condition fails to spot certain cases.
Steps to reproduce:
- open a pos that has only one payment method and this method is `bank`;
- buy an item for 10 $;
- try to pay 11 $;
- notice error popup; ( this is the expected behaviour )
- now try to create another payment line for any amount ( ex 9999 $ )
- as this is a different payment line the error popup will not appear;
--> this is wrong
In this commit we change the condition such that it detects this type of
error too.
closesodoo/odoo#141778
Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
Current behavior:
When importing a sale order with a product that is not groupable, the
line is not split and the whole quantity is added to one line.
Steps to reproduce:
- Create a new uom category that is not groupable
- Add a new uom to the category
- Create a new product with the uom
- Create a new sale order with the product
- Settle the order in the PoS
- All quantity is on one line
This is also an issue if the product is tracked by serial number. The
popup to fill the serial number will only have one field, even if the
quantity is greater than 1.
opw-3493378
closesodoo/odoo#141302
X-original-commit: 957942fe64391f9df7bee38d179cd1ce75fff787
Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
Succeeds #140464
Misunderstood `had_failure` and should not have reused it, its goal is
to avoid eagerly aborting some JS tests -- specifically the unit test
suites -- while still logging errors normally (useful when watching
interactively, or for the runbot's own reporting).
So the *checks* added on `had_failure` should in fact be checks on
`_result.exception()`, and as it turns out on `_result.done()`: if a
tour is already marked as successful we can't fail it either.
So we should not, we should log an error (to notify the caller /
runbot) and then bail. While #140464 did improve some things, we could
still lose legit errors and get pages of unhelpful `InvalidStateError`
if a tour would succeed *then* failures would occur, as the guard only
checked that the tour had already failed.
closesodoo/odoo#141815
X-original-commit: 87fcf66203dcbd281470285d648365d33d0e2fca
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Commit [1] implemented an approach for changing style of a list item to normal.
It no longer wrapped the content in a <p> to remove extra spacing to next list
item. Later commit [2] was introduced which did the same thing but in sanatize.
Hence the code added in commit [1] is no longer needed.
This commit removes the redundant code from `setTagName`.
[1]: 03a134c
[2]: 324e138
closesodoo/odoo#141812
X-original-commit: bd1e432dc29be0dec6e52b142d9fb712335209b6
Signed-off-by: Antoine Guenet (age) <age@odoo.com>
Steps to reproduce:
-------------------
- Create user with default company A
- User may have related employees, but not in company A
- Go to attendance - click -> New
You will get a traceback related to the sql request of _compute_overtime_hours
Explanation:
------------
- The query needs a non-empty list of employees
Fix:
----
- Don't run the sql query if we haven't defined any employees yet on the attendance
closesodoo/odoo#141808
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
Currently, an error occurs when the user tries to open an employees
who checks in but does not check out.
Steps to produce:
1. Install 'hr_attendance'
2. Open Attendence > Attendences > create new
3. Set check In date previous month and no add Check out
4. Open employees > try to open current user
Error: `'<=' not supported between instances of 'bool' and 'datetime.datetime'`
This is because https://github.com/odoo/odoo/pull/140629 added [1] in the
filter, but in certain cases, the `att.check_out` may not be present.
This commit fixes the above issue by filtering attendees who have
a check-out date.
[1]-https://github.com/odoo/odoo/blob/46f2a019bd141389233257f24f0ddae05b0fa008/addons/hr_attendance/models/hr_employee.py#L82
sentry-4616207347
closesodoo/odoo#141771
X-original-commit: b0cb1ad7b43a296b91377df80b30cbd3976553b4
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
Installations from the current Debian Bookworm (12.0) on amd64 systems are experiencing problem that prevents
the kernel from being upgraded (e.g. when trying to upgrade to kernel linux-image-6.1.0-10-amd64)
closesodoo/odoo#141588
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Before this commit, if we have x2many fields which contain a virtual
record with the many2many_tags widget, a server error will occur during
a search because the "name_search" will be performed with a domain containing
a virtualId.
This commit will therefore filter the virtualId when generating the domain
used by the "name_search".
closesodoo/odoo#141269
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, in a form view with an x2many in non-editable list mode,
creating a record by clicking on "Save&New" allows it to be edited inline
despite the list view not being editable. The purpose of this commit is
to prevent this from happening.
How to reproduce:
- Go to a form view with an x2many field in non-editable list mode
- Add a record
- Edit the new record
- Click on Save&New
- Edit the new record
Before this commit:
The new record is in edition in the list view
After this commit
The new record is not in edition in the list view
Part-of: odoo/odoo#141269
Before this commit, in an editable list view (or in x2many), you need
to click twice on a boolean field to change its value. The first to set
the record to edit and the second to toggle the value.
The purpose of this commit is to simplify this flow by only requiring one click.
How to reproduce:
- Go to a form view with an x2many in editable list mode that contains a boolean field.
- Click on the boolean field of the first record
Before this commit:
The record goes to edition and the value of the field has not changed.
After this commit;
The record goes to edition and the value of the field has changed.
closesodoo/odoo#141153
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, with the synchronization with Outlook active, it was not possible editing the organizer of an event to a different user than yourself or even creating a new event with a different organizer because Outlook didn't accept the change.
After this commit, it is possible creating a new event with this characteristic and changing the event's organizer to a different user too. Changing the organizer will delete the current event and create a new one, and creating a brand new event will create the event directly with the different organizer.
closesodoo/odoo#140820
Task-id: 3450045
X-original-commit: 81601d5
Related: odoo/enterprise#50080
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
Signed-off-by: Gabriel de Paula Felix (gdpf) <gdpf@odoo.com>
Main Changes:
Precise (copy) in the name of a duplicate of a delivery carrier
Before:
When we duplicate a delivery carrier, the name of the copy is
exactly the same as the name of the source
After:
When we duplicate a delivery carrier, we append ' (copy)' at the end
of the name for the copy
closesodoo/odoo#140540
Signed-off-by: Mathias Mathy (mama) <mama@odoo.com>
The recent use of owl AutoComplete component in the website builder
broke some things (see [1]). This commit handles this bug:
Steps to reproduce:
- Go to /web?debug=1
- Go to the website app
- Enter edit mode
- Drop the text-image snippet
=> Traceback
This was because the AutoCompleteWithPages extension of website was
inheriting the AutoComplete props whose "value" prop was not optional
but was not used for this case.
This commit goes the easy way: make the original prop optional with the
default value being the empty string.
[1]: https://github.com/odoo/odoo/commit/86a9171ec7790aa09f2b9a50dcb26deb029e8bedclosesodoo/odoo#141751
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Before this PR online and offline cache getter where called when not needed.
This PR move the code inside the onWillRender hook to cache the results and
avoid useless computation of getters.
task-3572093
closesodoo/odoo#141750
X-original-commit: 57aa00893cc47456d5eb39f429c83c4069ab0d7e
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Prior to this commit, there was an unwanted margin before the "Go to
Website" button in `button_box` located in the modal window of the
course parameters.
This commit removes this margin to maintain consistency with the
`button_box` layout.
task-3580610
closesodoo/odoo#141671
X-original-commit: 5530c846bf4c4b79c5e79e943c6859843a53187b
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
When submitting invoices with a foreign partneer using the fiscal
device, the device will throw an error when the VAT number is not
formatted as per the Kenyan VAT number. In this case, we should only
send the vat number when it matches the format of a Kenyan VAT number.
opw-3557736
closesodoo/odoo#141628
X-original-commit: de77cefd3bbad7e9c56d60ba446156a05331ebf9
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Daniel Kosky (dako) <dako@odoo.com>
When there are multiple broken XML files in an assets bundle. During the
bundle processing, a template containing the parsing error message is
returned for each XML file that is broken.
Before this commit, each of the returned templates had the same name,
raising another error ("Template already exists in module").
Now, all the returned templates has unique names.
closesodoo/odoo#141568
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
After the refactor of pos tours all classes in the tours are
removed. The problem is that some instances of `this` were still
kept. This is obviously wrong. In this commit we fix the issue.
closesodoo/odoo#141404
Signed-off-by: Adrien Guilliams (adgu) <adgu@odoo.com>
Before this commit:
1) The `certification` field was visible when `scoring_type` was set to
'No scoring'.
2) The `description` field of the Badge in form view was not taking the full
width of the sheet.
After this commit:
1) The `certification` field will be invisible if `scoring_type` is set to
'No scoring'.
2) The `description` field of the Badge in form view will take the full width of
the sheet.
Task-3367524
closesodoo/odoo#141120
X-original-commit: 094b2c53e8065de383d35bd0725e247345289867
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The header call to action button template was extended by other ones
based on classes that can be changed using the Odoo editor. So if you
changed them, saved then toggle those other template options... you
broke your header.
closesodoo/odoo#141694
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Adds the SST-02 tax report to the Malaysian
localisation
Task id # 2868179
closesodoo/odoo#140030
Signed-off-by: de Wouters de Bouchout Jean-Benoît (jbw) <jbw@odoo.com>
When building the windows package, the build process can be accelerated
by increasing the virtual machine memory.
closesodoo/odoo#141730
X-original-commit: 88f2f374897f12c950b9f398715e3da8245332f6
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Administrators sometimes machine-translate Odoo into their own language.
In this respect, we should avoid ambiguous wording* that could be poorly
machine-translated.
\*: in this case, the onomatopoeia "Poof!" was misinterpreted by a
machine-translation as a British slur.
opw-3590503
closesodoo/odoo#141723
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
The aim of this commit is to make the OSS feature instanciate the taxes
on the the root company .
Context: currently, when a company has a branch, the OSS feature tries
to instanciate the taxes on both the root company and the branch
company.
This was brought up by a constrains that prevents you from instanciating
2 tax with the same name on the same company.
Before the commit:
The feature tries to instanciate the OSS taxes on both the root and
branch company.
After the commit:
The taxes are only instanciated on the root company.
closesodoo/odoo#141347
Task-id: 3573252
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
Since [1], when an error exists in an asset, the assets raise a not
found exception. The issue, is that, there is no feedback for the
developer to find the error.
Now, a new console log with the error details is shown.
[1] : bf3b6b0b8bclosesodoo/odoo#141705
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
* Sum rank fields if the partner is merged
It will help to increase the rank of both records and have a better ranking
closesodoo/odoo#141690
X-original-commit: afb5c915c5bc566628ed5283a6e434e123caaaf1
Signed-off-by: William André (wan) <wan@odoo.com>
Co-authored-by: Moisés Lopéz <moylop260@vauxoo.com>
If a .map is missing (outdated) the error message will report
'min' expected in extension in non debug mode
when the problem is actually that map are not generate through this
route.
If the attachment corresponding to a .map is not found, it
was most likely garbage collected.
Change the message to:
.map should have been generated through debug assets, (version
5eff983 most likely outdated)
closesodoo/odoo#141469
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Steps:
- Install Project & Website
- Go to Website Module
- Click on Tasks
- Now on hover multiple assignees
Issue:
- On the hover of the mouse, this problem appears when we are viewing multiple assignees .
Cause:
- There is list in which we mapped assignees & reading from the 1st index.
Fix:
- List execute from 0th index in assignees list.
Task-3495253
closesodoo/odoo#141430
X-original-commit: 61ac7a392eca48b978c9aeb8575c3509607366b1
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
This commit fixes the missing caret in some of the selection fields inside
the settings.
It is not possible to fix it another way than adding a `:not` targeting
the settings `formView`, because the `formView` css rule is overriding any
css in settings.
The caret was also hidden in the `datepicker` field.
This commit also change the `$-down-arrow` variable to a global one,
`$o-caret-down`.
task-3451370
Related to task-3326263
closesodoo/odoo#141672
X-original-commit: e01d4211cd36bd1a7d4ad190c89d3c966ec3e41e
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Setting a default value for an integer that is greater than that allowed
by a 32-bit integer raises an error when we save a new record so it
isn't clear that the issue comes from the default value
Steps to reproduce:
1. Install Contacts and Studio
2. Go to Contacts and open any contact
3. Toggle Studio and add an integer field in the view
4. In the Studio sidebar, set the default value to 3 000 000 000
5. Save and close Studio
6. Create a new contact, give it a name and try to save the record
7. An error is thrown
Solution:
Raise an error if we set an integer field's default value out of the
bounds of a 32-bit integer
opw-3360160
closesodoo/odoo#141339
X-original-commit: 85978e4c6fb1199f5e6ec4dce5c45b9f09be9b77
Signed-off-by: Guillaume Merlin (megu) <megu@odoo.com>
Before this commit, a component couldn't be mounted on a public widget
that wasn't yet attached in the dom.
closesodoo/odoo#141665
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
We have 2 different invoices for importation: The trasitoria from
let's say the customs (through the transport company) and the
importation invoice coming from the vendor.
For SII and the register, nothing needs to be sent for the importation,
but for the trasitoria we also need to register the base amount from
the viewpoint of the customs.
That is why we added a tax that is actually a group of taxes composed
of undoing the base amount and adding the tax, so the line will just
have the tax amount, but we are still informed about its base.
We also added the products with those taxes by default, so the user
can easily encode the trasitoria that way.
By default the extra-community fiscal position will not map to import
taxes anymore, but to nothing and the
We also updated some other taxes:
- The term included was put in the csv, while the tax is not, so we
just removed it
- We split the exempt taxes, so the user has the different cases
by default.
- The Exempt not subject case, handled a total corner case, so we
added a new tax to handle the case of Exempt Non Deductible
- Modify tax grid for account_tax_template_s_iva_e to mod303[120]
We also changed the name of the fiscal position Reglas de Localizacion (TAI)
as it has nothing to do with Canary Islands in itself, but with services/goods.
opw-3395186
closesodoo/odoo#139514
Signed-off-by: William André (wan) <wan@odoo.com>
This way we can more easily define products in demo or data
that need specific taxes.
We needed to filter out the taxes not belonging to this company
as the many2many does not filter them out.
Part-of: odoo/odoo#139514
Before this commit, some assets of the
"web_editor.wysiwyg_iframe_editor_assets" bundle could not be loaded
because of unmet dependencies.
The loading of such modules failed silently because the module loader
waits for the "DOMContentLoaded" event in order to replace the DOM's
content by the error report, and such event is not triggered by the
wysiwyg's iframe.
This commit removes unnecessary assets from the mentioned bundle and
solves the dependency errors.
closesodoo/odoo#141591
Signed-off-by: Nicolas Bayet (nby) <nby@odoo.com>
Co-authored-by: Nicolas Bayet <nby@odoo.com>
Before this commit, a grouped kanban view with create="0" on the
root node would still allow to quick create record in columns (i.e.
the "+" icon would still be displayed). However, clicking on it
would most likely raise an AccessError as the user isn't allowed to
create records.
This commit restores the pre 16.0 behavior, which is to disallow
quick creation if the user can't create.
Task 3559638
closesodoo/odoo#141631
X-original-commit: 775475aaed6ea88f54a6530b81f35f3114431716
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Impacted versions:
16.0+
How to reproduce:
- create a lot of articles in Knowledge (i.e. 3000+)
- click twice on the `Search Articles` fake search bar in the Knowledge Form
view
Current behavior:
- the command palette does not open
- the command palette is broken and won't open again (even with the `CTRL+K`
shortcut)
Expected behavior:
- the command palette open once and should not break even if the user clicks
multiple times.
Technical explanation:
- The promise given to the `onWillStart` hook of the `command_palette` can
sometimes never be resolved by design (see `KeepLast`). i.e.:
- `setCommandPaletteConfig` is called `onWillStart`
- `setCommandPaletteConfig` is then called as a result of the `SET-CONFIG`
bus event
- the first promise will never be resolved since it uses a `KeepLast`,
therefore `onWillStart` will never be resolved either.
- In `command_service`, the variable `isPaletteOpened` is set to `true` before
the command palette dialog is actually mounted.
- If `onWillStart` is never resolved, the component will never be mounted, and
as such the dialog can never be closed, therefore `isPaletteOpened` stays
`true` forever resulting in a deadlock preventing any further opening of the
command palette.
The issue can be resolved by adding all `KeepLast` promises in a race, which is
what `onWillStart` should actually be waiting for, since it will be resolved as
soon as any `KeepLast` promise is resolved.
task-3554068
closesodoo/odoo#141613
X-original-commit: 6b5fc71e67569b93b699090b225eea147ef463d2
Related: odoo/enterprise#50466
Signed-off-by: Francois Georis (fge) <fge@odoo.com>
Signed-off-by: Damien Abeloos (abd) <abd@odoo.com>
Currently, it's not possible to open invoices from the peppol ready list view. This commit fixes that, adding form in the view_mode.
closesodoo/odoo#141258
Signed-off-by: Laurent Smet (las) <las@odoo.com>