The Customer Invoices and Vendor Bills bar graphs in the accounting
dashboard skip empty weeks so the following weeks will be displayed
sooner
Steps to reproduce:
1. Install Accounting
2. Go to the accounting dashboard
3. The bar graph of Customer Invoices is not correct: it ends with empty
weeks but they should be in between the data
Solution:
Choose where each query result should be by using the aggr_date to find
in which week the data is included
Problem:
The SQL query didn't return any date for empty weeks so sorting the
result by date would leave some weeks out of the bar graph
opw-2844159
closesodoo/odoo#93544
X-original-commit: 2743d8f350209942f7dc3431109d22646ce1a251
Signed-off-by: Cedric Snauwaert <csn@odoo.com>
Signed-off-by: Guillaume Merlin (megu) <megu@odoo.com>
Foreign companies that trade with non-enterprises in the EU may have a VATIN starting with "EU" instead of a country code.
Currently, the user is facing a traceback in this situation since stdnum doesn't have any format method for vat number starting with 'EU'.
closesodoo/odoo#93536
Ticket: 2877716
X-original-commit: 0f9f8409b379e3a0af28cecd3ed26829b9b26032
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
Signed-off-by: Laurent Smet <las@odoo.com>
When purchase is returned, the product may move to internal location first. If
option `Update quantities on SO/PO` is active, it does decrease the qty.
However, when the option is disabled, it increase the qty instead of doing
nothing.
Fix it by making a proper if-else block structure
STEPS:
- Create a PO, confirm it and receive the product
- On the transfer, make a return to a location that is not a child of your warehouse (PhysicalLocations/W/...), for instance, choose the location Physical Locations/Subcontracting Location
- Untick the "Update quantities on SO/PO" (visible in debug), and validate the return transfer
- Check your initial PO
BEFORE: the received quantities have been updated, even if we asked not to do it
AFTER: the received quantities is not changed
opw-2858390
closesodoo/odoo#93471
X-original-commit: eb16b4ece9766d4fea85d88ad72e25e8ada209ac
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
Signed-off-by: Ivan Elizaryev (iel) <iel@odoo.com>
When portal is not installed and `auth_signup.invitation_scope` is "b2c",
visitors can create an account, leading to a blank page. Still, accounts can be
required for several use cases in apps that do not require portal (such as
survey).
We here add a landing page for users that created an account but have no
requested redirections and cannot be redirected to a customer portal either.
Tests are added to check this behavior.
auth_signup_uninvited is also updated in model to be consistent with config
data.
The PR also adds a `_is_internal` method for `res.users` and updates the
codebase to use it.
Task-2762102
See odoo/enterprise#27603closesodoo/odoo#85703
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
No method was readily available to know if a user is `internal` (has
group `base.group_user`), which was inconsistent with other base groups.
_is_internal is now used in the codebase where it is clear that
`.has_group('base.group_user')` is called on a single record.
Part-of: odoo/odoo#85703
When portal is not installed and `auth_signup.invitation_scope` is "b2c",
visitors can create an account, leading to a blank page. Still, accounts can be
required for several use cases in apps that do not require portal (such as
survey).
We here add a landing page for users that created an account but have no
requested redirections and cannot be redirected to a customer portal either.
auth_signup_uninvited is also updated in model to be consistent with config
data.
Tests are added to check this behavior.
Task-2762102
Part-of: odoo/odoo#85703
Before this commit, if there were several facets in the search bar, it
was not possible to navigate correctly between them.
closesodoo/odoo#93547
X-original-commit: d2b6aab509717866ab42a9750adbb884ccec18a4
Signed-off-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Create a standard tax that is included in the product price.
Add that tax to a product and the down payment product.
Create a sales order (i.e. 1 line, 115$ total, 15% tax incl).
Create a percentage down payment invoice, i.e. 50%.
The downpayment amount will be 50% of the untaxed amount,
i.e. 100$ @ 50% = 50$ with tax already included, so actually
lower than 50%
Forward-Port-Of: https://github.com/odoo/odoo/pull/65275
opw-2858506
closesodoo/odoo#93531
X-original-commit: 9f9c73b33924b6093e550be63786640d8bbb9e79
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: abla001 <abla@odoo.com>
After the refactor performed on 3fea5b213 to start using OWL, a lot of
aria attributes were lost.
ARIA attributes are required to ensure good compatibility with asistive
technologies and keyboard users.
This commit reintroduces such attributes, which include:
- `aria-label`: used for elements with title but no text
- `role`: mainly used for elements that behaves as buttons or links
- `aria-expanded`: used on buttons that toggle menus or content, e.g.
button to open attachments or followers
- And another ones like `aria-pressed`, `tabindex`, etc
closesodoo/odoo#93506
X-original-commit: 35442d9b4102b56421417fc03a686ff916e87bb1
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Inner `afterNextRender` could potentially resolve/reject after the test has
already ended due to missing await (arrow function with bracket is sync).
This will prevent tests from overlapping each other.
closesodoo/odoo#93505
X-original-commit: c5d0cc3f37693346fce5e72b618d5e3454d118c4
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Sale code was recently refactored and reordered according to guidelines
but one recent task introduced new field & method in wrong places.
This commit moves it to the correct place.
closesodoo/odoo#93503
X-original-commit: 5d01a41524a7fe2803b5e016be0e098e8a4e486d
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Since #79093, the onchange updating taxes according to fpos was replaced by
a compute, but the dependency on the order fpos was not kept to avoid
full recomputation of taxes (& potentially other things) when SO fields
are modified.
Nevertheless, it makes sense in some flows to update the fpos after creation
of SOlines, and to want the taxes to be updated accordingly.
To provide this ability, a new button is added, following the existing logic
to update the prices & discounts when the pricelist is changed.
Task - 2865882
X-original-commit: 23ac2e09e19d3ee48018b2940e67048208b65caf
Part-of: odoo/odoo#93503
Before this commit the feature to auto-reload on attachment changed only worked
through composer or attachment box, now also works with "upload file" activity.
closesodoo/odoo#93486
X-original-commit: 4ab3cb40b09f2c7278bea3bf1136b9ebf6dadc0e
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Since #75862, the group "Upsell & Cross Sell" was shown in the "Sales"
tab of the product views, even if empty (its content is only defined in modules
sale_product_configurator & website_sale).
This commit makes sure that the group is invisible while it has no content.
closesodoo/odoo#93504
X-original-commit: 4f6c15f07141da80525e0c361a6fa19374ef4c2c
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Update to latest runbot state, at least for tests known to be
deterministic.
Notably mail tests are lower than before, probably due to odoo/odoo#73271closesodoo/odoo#93470
X-original-commit: 6118ecba8d807ac5ebc69ae4877e1f202b0daeb1
Related: odoo/enterprise#28308
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
STEPS:
* switch to serbian language
* start chat with a user who is out of office
* refresh page
BEFORE: Incorrect locale information provided
AFTER: no errors
Similar change for web module in v15: https://github.com/odoo/odoo/commit/1bb9cb89c8b5b5c55299afd3c53df14c3aea5ee7
opw-2859402
closesodoo/odoo#93479
X-original-commit: 3102b5e9cecbc973d5f774051d556d9387a8ee38
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Currently, when we click on week_days checkbox the
'next occurrences' dates are not updated due to fieldDependencies
fields are loaded by js and due to that on_change on fields is not
calculated.
so in this commit, add those fieldDependencies field in xml view so
that dependent field(recurrence_message) will be computed properly
with the help of on_change.
task-2823432
closesodoo/odoo#93450
X-original-commit: f223aefebeec0fc0fcc0d68e3d982a4ab1294d71
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
no need to make rounding during computing qty_available
STEPS (see the test):
- create product with uom dozens
- create product with uom units
- create bom kit to convert one to another
- set qty on hand to 1 for product dozens
- check qty for product units
opw-2849397
closesodoo/odoo#93035
X-original-commit: 83afc17890b9a7b41e21aa5db738b04a13680cd4
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
This commit make messaging service available in the frontend and in
the livechat external lib bundle.
This is preparation to refactoring JS livechat to use models and OWL.
*: bus, mail, survey, web, website_livechat
Task-2870899
closesodoo/odoo#92786
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this commit, it was possible to deploy services more
than once. This happened in case the root widget was about to
deploy and start the services, and more than one service was
registering itself during a next tick.
Services must be deployed and started only once. This commit
ensures that if many services are added in this scenario, the
services are deployed and started only once.
Part-of: odoo/odoo#92786
This happens when some assets are missing in portal
and dev tools are open. `odoo.debug` is undefined, so
`odoo.debug.includes` crashes, but this LOC is in handler
of a crash, therefore infinite loop.
Part-of: odoo/odoo#92786
With this improvement,
* in the Project Updates kanban/tree side pannel :
> Hours are displayed 'HH:mm Hours'
* in the Project Updates form description :
> idem
> Sales Order Items with the same products also display their
price to differentiate them.
task-2841685
closesodoo/odoo#90624
Related: odoo/enterprise#27753
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
The purpose of this commit, is to make improvements in Project.
In this commit, following changes are made:
-rename 'Duration' to Hours/Days Spent
-rename hours/days to Hours/Days Spent
-add links to Sales Order, Quotation, Ticket and Invoices linked
the task in left panel
-indicate email of the assignee
-indicate email of the partner
-indicate 'Draft Invoice' instead of '/' for invoices
-display 'remaning hours on SO' value in red if value is less
than 0
task-2743512
closesodoo/odoo#86422
Related: odoo/enterprise#25280
Related: odoo/upgrade#3406
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Fine tuning of da8def8e41closesodoo/odoo#93407
X-original-commit: 7efa8743b1bbe9efc4b81a10331f096e8de1e52d
Signed-off-by: Julien Castiaux <juc@odoo.com>
Patching the window object is not robust and can lead to errors.
In order to make patchUiSize more robust, patching of window have
been replaced by a patch of the uiService.
closesodoo/odoo#93355
X-original-commit: 46be08a551ead8d2e0304a753af3d3b13744e6ed
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Since: a0092d0011
Users can see attendees' selected answers in the registrations list view using
an optional field ("registration_answer_ids").
However, searching on this field is currently not correctly supported as the
"event.registration.answer" model does not implement it (no "_rec_name" and no
"_rec_names_search").
This commit adds a "_rec_names_search" attribute to allow users to search on
both "value_answer_id" and "value_text_box" fields.
This makes it easy to search for all attendees that have filled in a specific
answer, allowing a better organization of the event based on question results.
Task-2868203
closesodoo/odoo#92486
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
There was an issue when canceling the move of an article from one section to
another: a previous move which was not canceled could be undone when it should
not have been.
Impacted versions:
* 15.4+
Steps to reproduce:
1. Have one article (A) in the "workspace" section and one article (B) in the
"private" section
2. move (A) into "private", validate the move in the dialog
3. move (B) into "workspace", discard the move in the dialog
Current behavior:
* (A) is displayed as if it is currently in "workspace" but it is in fact
still in "private"
Expected behavior:
* (A) and (B) should be displayed in the "private" section
This commit fixes the problem by manually replacing the article whose move was
discarded (B) at its previous position while triggering a "change" event instead
of a "cancel" event.
The bug is caused by an incorrect implementation of the "cancel" handler in
`jquery.mjs.nestedSortable` library. Since this library uses jQuery and it is
discontinued, we should consider to reimplement the feature internally in the
future.
This commit also synchronizes data-attr attributes (parent-id and section) with
the hidden value data('attr') from jQuery for consistency.
Task-2877766
closesodoo/odoo#93244
X-original-commit: 98aaeb32e04f99c06c75166593e3b89c4aa087df
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The template of the standard emoji picker has recently been updated. This
commit will update the emoji picker of Knowledge to make the custom
component compatible with the new standard templates.
Related: https://github.com/odoo/odoo/commit/9830406020ef1c3b0c57045a6e285a31ebf81143
task-2871883
closesodoo/odoo#93243
X-original-commit: 7f35a0bf19bfe02200244847b09ae43f4bc02494
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The js content of the odoo-editor is located into the
web_editor/static/lib/web-editor directory.
Only the js code located into */static/src/* is considered for export
of translations. This is done to avoid poluting translations for code
not managed by Odoo.
The best solution is to move the odoo-editor code inside static/src
but as a workaround in stable, we can add the terms manually in the
.pot file.
This has the drawback of being lost in the next export of translations
so should be considered as a temporary solution.
Fixesodoo/odoo#93258closesodoo/odoo#93360
X-original-commit: d2e40ea2b36df8488402ec3401bd1bb3669dc05c
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
When you are shipping later from POS and have a multi-step
configuration, you get an error saying that you cannot unreserve more
than what is reserved. It comes form a bad filtered list of move.
Now as we are correctly filtering the move on their product_id it
correctly works.
OPW-2854159
closesodoo/odoo#93336
X-original-commit: 93e0509d0ba7302ecdf5d0f6dbc2dbe90e98229d
Signed-off-by: Masereel Pierre <pim@odoo.com>
Use case:
---------
Create a task with public user
At the end of the transaction sometimes the flush
is done with an env where su is False.
This cause the public user enable to read data needed
for the recomputation of is_closed field which is related_sudo=False
Why is this random ?
--------------------
The flush in transaction select the first env in the set of
env with a user. Since the order in the set is not deterministic
Sometimes an env with su=True is choosen and everything is fine
but sometimes it's not and we get an access error
It happened in 3 acts
this commit f98470e6cf add
related_sudo=False for perf improvement pre v13.0
this commit 42c430a539 introduce
a new related field is_closed that copy paste the related_sudo=False
this commit cf8bb933ac3a9fd6344ca79617a2f7317fbc20af stored the field
and stored computed field should always be compute_sudo=True
Solution
--------
Remove all the related_sudo=False, they don't make sense since v13.0
closesodoo/odoo#93349
X-original-commit: e0fe5c5a1c6932f02ca0822c5c26618c91fd50b3
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Signed-off-by: Thibault Francois <tfr@odoo.com>
Activate units of measure
Create taxes:
- [TAXE] not included in price (i.e. 15%)
- [TAXI] included in price (i.e 15%)
Have a fiscal position mapping [TAXE] to [TAXI]
Have a product [PROD]:
- Price 10$
- Tax [TAXE]
- Unit: g
- Purchase Unit: kg
In point of sale settings:
- Add the fiscal position as default
- Display tax included prices
Start a pos session, add [PROD] to order, confirm and print receipt
The price on order screen and receipt will be wrong, it will take into
account the price excluded tax on top of the correct price
(final price 11.50, should be 10.30)
opw-2688375
closesodoo/odoo#93321
X-original-commit: ff61382c3865a159bb92f873bf82b8ab48426730
Signed-off-by: Grazioso Andrea (agr) <agr@odoo.com>
This commit removes the layout menu, the layout is now automatically
adjusted based on the focused tile and uses a collapsable sidebar.
Layout variables are now located on the callView model instead of
messaging, which means that the presence of video tiles may depend on
multiple views with each their own layouts. It is therefore no longer
possible to rely on the previously global layout state to know if a
stream is viewed and should be downloaded.
closesodoo/odoo#82692
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
When creating a custom datetime field (with date option type) with Studio and
that you edit the field manually then validates with the ENTER keyboard, the
date is changed (one day is removed - mm/dd-1/yy).
Since [1].
Step to reproduce the issue:
1. Put yourself in Europe timezone (e.g. BE)
2. Add a datetime field via studio (e.g. on the product form)
3. Put a date widget (no datetime)
4. Enter a date manually mm/dd/yy
5. Hit ENTER without clicking outside the box
You will see that the final date will be mm/dd-1/yy.
Solution: The path applied when clicking outside the box and cliking ENTER is
not the same. In the ENTER path, we check if the type of the field is a
`datetime`, if so, we remove the offset TZ to match 00:00:00 instead of
02:00:00 (if you were in GMT+2 zone). The issue is that we do this offset
if the customm field (via Studio) is a `datetime`. This check is incorrect: we
can have a `datetime` field but a date widget, in that case, if we are not on
GMT time we offset by some hours and we end up the day before (as we offset by
2 hours starting from midnight which results in 22PM the day before and when
rendered as a simple date we "loose" one day).
[1]: https://github.com/odoo/odoo/commit/08a423577f732b65ad5035e8f4662386a8631c5f
opw-2830843
closesodoo/odoo#93293
X-original-commit: 37a58832bc966f28fb2c1d627dfe28cef4fb5de7
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Desausoi Laurent (lade) <lade@odoo.com>