This commit aims to reintroduce CSS variables to handle the different
states of our navbar entries.
Recently, the way we handle the navbar entries changed. Previously, we
used to set CSS variables in Community, which would allow us to control
the color of ours nav entries at every state.
On the Enteprise side, this would allow us to use the different colors we
use for these buttons and style them differently
This approach was also very helpful because we could override these CSS
variables once again to handle the colors of the Studio navbar elements.
Recently, the approach used to control these elements changed :
- On Community, we make use of CSS variables ;
- On Enterprise, we use the Bootstrap `btn-light` class.
Using `btn-light` was a very good approach to ensure that no issues would
appears on our buttons and also to reduce the amount of code needed, but
unfortunately, using `btn-light` directly affects Studio, causing contrast
issues. It was also a bit weird to have CSS variables + Bootstrap classes
being set at the same time.
To fix these issues, we reintroduce CSS variables in Enterprise and Studio,
to fully control the color of our elements and ensure everything is
readable. Most of these variables are defined in Community, inside the
`navbar.scss` file, and we simply override them in Enterprise and Studio.
task-3418936
part of task-3326263
closesodoo/odoo#137140
X-original-commit: af6d914c379953d2deec9833579399f126076194
Related: odoo/enterprise#48174
Signed-off-by: Stefano Rigano (sri) <sri@odoo.com>
Signed-off-by: Chrysanthe Gomrée (chgo) <chgo@odoo.com>
Steps to reproduce:
- Create a transfer with a delivery method.
- Add a lot of characters in the tracking reference field.
Bug:
after saving the field overflows in the view
opw-3370813
closesodoo/odoo#137176
X-original-commit: 707ae95d32836296e57540cdbdf78a2b3a7c7117
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
Signed-off-by: Walid Hanniche (waha) <waha@odoo.com>
When we run the project tour manually, even if we select the assignee, the tour
does not move to the next step, so we have clicked the input button manually.
task-3302315
closesodoo/odoo#137152
X-original-commit: 99f13f2e2c9d30f829c3eba3d16d23ae203d0754
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
This PR changes the operator allocation algorithm so that operators
in a call with already two ongoing chats are not prioritized over
more occupied operators that are not in a call.
part of task-2900771
closesodoo/odoo#135113
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
When limited product loading is enabled, archived products can still be
added to orders by scanning their barcode, because
`get_pos_ui_product_product_by_params` loads archived products to
prevent errors when refunding orders.
This allows adding archived products via barcode even though they are not
visible in the POS interface.
To prevent this, we exclude archived products from the product_by_barcode
when adding products to it. This ensures archived products cannot be
added by barcode when limited product loading is enabled.
opw-3502136
closesodoo/odoo#137119
X-original-commit: 95c3807d541afe0581b636eb8394cd8f79bb770e
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
After the merge of kiosk and mobile self, the search bar had not been
reimplemented.
In this commit, we add it.
closesodoo/odoo#137063
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Description of the issue:
This commit addresses a traceback error that occurred when adding a product to
the cart with an empty cart. The issue was related to accessing values for
'topping_ids_1', 'topping_ids_2', and 'topping_ids_3' without proper validation
Fix:
In this fix i have added checks to ensure that the values are present before
accessing them this prevents an 'index out of range' error and resolves the
traceback problem, additionally, the code now considers the values in
'topping_1_values', 'topping_2_values', and 'topping_3_values' to determine
whether to access the values or fall back to default values from the order.
Desired behavior after PR is merged:
traceback will fixed and work properly
task-3511953
closesodoo/odoo#135942
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
Improvement:
Following this commit the length of model field inside form view of vehicle is
expanded.
closesodoo/odoo#133431
Taskid: 3477830
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
This commit resolves the issue of content title overflow in both fullscreen
and non-fullscreen views by cropping the title and adding '...' at the end.
Task-3384661
closesodoo/odoo#137112
X-original-commit: 2275279a74757d47b3138587793aef67f6b5e7ef
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this commit, the conversion of to-do to task is performed through
a form view on the project.task record. This view let the user pick a
project for the current record. A domain is applied on the project_id
field to only let the user select a project from the current selected
companies. This commit removes that filter to only rely on the ir.rule
of project.project instead.
task-3458909
closesodoo/odoo#137111
X-original-commit: 8adc4e2f08e6e704c314cda21494bb3486a32fd2
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Since [1] when webp support was introduced, pre-converted images
(resizes and jpgs) are automatically created so that the images can be
used in PDF reports.
This only needed to be done for image fields - which can be referenced
in reports.
This commit limits the pre-conversion of images to images that are set
in image fields.
[1]: https://github.com/odoo/odoo/commit/0449fe85cb0e1d639a4e1aeba26e90906f79254d
task-3510621
closesodoo/odoo#137109
X-original-commit: cd0164339e5179177aaaf21b69615a71a8982da8
Signed-off-by: Benjamin Vray (bvr) <bvr@odoo.com>
Description of the issue:
remaining hour field was visible to all users
Desired behavior after PR is merged:
remaining hour will only visible to that user who have timesheet access this
field will invisible if user doesn't have timesheet access
task-3484290
closesodoo/odoo#137082
X-original-commit: e737f0934f8a83cd02a4a79fbf174b95b524a4e7
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Steps to reproduce:
- Install PoS and activate Multi Employees per Session (Add atleast 2
employees)
- Open a session in the PoS shop and create a new order.
- Follow the steps until the ticket screen of the order.
- Here change the cashier of the PoS, and see the ticket cashier.
We don't want to change the ticket cashier of an order that has already
been done, since then the cashier of the order is not going to match the
cashier of the ticket.
opw-3483405
closesodoo/odoo#137019
X-original-commit: 819dfa288cf13111fd483cafc1a77b8c68ad06ce
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Signed-off-by: Maruan Aguerdouh Mohtar (magm) <magm@odoo.com>
Steps to reproduce:
- In website, paste a URL like "odoo.com" as plain text.
The expected result is a transformed link, just like it happens when
pasting is done in an html field (ex: project.task description), but
a simple text node is inserted instead.
The reason for this is that an element created by the iframe document's
`createElement` method has in its prototype chain the iframe context's
global `Node` constructor, which is a distinct constructor object from the
main window's `Node` constructor.
task-3521152
closesodoo/odoo#136597
X-original-commit: 392d78dab632f67721ec2ba8810d5c8053640b86
Related: odoo/enterprise#48136
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Since https://github.com/odoo/odoo/pull/110737, it is better to use
`_read_group` instead of `read_group` in the backend. In fact, the
public method is less efficient (it computes display_name of relational
groupby, extra order, ...) and more verbose.
This commit replaces these new uses of `read_group` with `_read_group`.
closesodoo/odoo#136381
Related: odoo/enterprise#47826
Signed-off-by: Raphael Collet <rco@odoo.com>
Before:
When a new product was created in a multi-company setting, if the company field is empty, the product is available for all companies. The default sale and purchase tax of the company was set on the product. The problem is that only the default taxes of the currently active company was set on the product, so viewing the product in other companies showed an empty field for the tax.
Now:
- When creating a new product with the company field empty, the default taxes of the other companies are set on the product as well.
- Tax display_name now shows company name if in a multi-company environment and more than one company is selected to make it easier to know which tax belongs to which company.
task-3375286
closesodoo/odoo#127196
Related: odoo/enterprise#45075
Signed-off-by: William André (wan) <wan@odoo.com>
This commit allows the user to navigate freely through a
survey with mandatory questions. He will be able to skip
questions and come back to them later. If he still hasn't
answered them at the final submit they will automatically
be displayed with an error message to invite the user to
answer them. The user can navigate through the skipped
questions with a button within the error box.
Task-2605657
closesodoo/odoo#119315
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Complement on 1e35315399 (#112450):
alongside the split between forwards and backwards jump we missed that
3.11 has a specialized version of each for the `is None` and `is not
None` cases. A use of that was added in standard in 16.5 (#120446) but
more generally it makes sense that server actions would support
conditional tests against `None`, probably...
closesodoo/odoo#137099
X-original-commit: 3227ae45fb79cd08a102aecb484e4f0a4f2597c1
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
This commit fix 3 issues with the reservation with use_expiration_date set on the product:
1) -- Discrepancy of available_quantity --
StockMove._update_reserved_quantity() works along StockMove._get_available_quantity()
If the with_expiration context is added to one and not the other, the available_quantity sent to the 'update' method will not be correct.
2) -- Can't reserve on imperishable quants --
On the Quant, if expiration_date is False, the reservation will not be possible.
Changed the domain from `expiration_date >= date` to `expiration is False or expiration_date >= date`
---
# How to Reproduce
- Create a product P, tracked by lot, with use_expiration_date = True
- Set quantity on hand to 10 (without lot)
- Create a Sale Order for 1 unit of P: Confirm
- On the Delivery, 'Check Availability' (if not done automatically)
=> The Transfer is marked as Ready (aka: at least 1 unit reserved), but nothing is reserved.
=> If you Unreserve, the product availability is shown as Available, and if your Reserve again, it is shown as 'Not Available'
OPW-3434996
closesodoo/odoo#137097
X-original-commit: b5463465fa877b9913eb9747869aae00c6b394ca
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: David Fesquet (dafr) <dafr@odoo.com>
Issue: Translation missing after upgrade when the customer had any
other language except English and he changed the value instead
of translation.
In this commit, avoid to delete the translation.
closesodoo/odoo#137087
Opw: 3489453
X-original-commit: b3bfdf676d0daedbd71501d153170f37e97c94d8
Signed-off-by: Raphael Collet <rco@odoo.com>
Before this commit, when the Wysiwyg was used in a html form (like
website_forum), its `savePendingImages` method was not called. This
resulted in keeping pasted or dropped images as base-64 encoded sources
instead of converting them to attachments.
This commit ensures such conversion takes place.
task-3499058
closesodoo/odoo#137073
X-original-commit: 00aad6aa92c8ad476f9f78779b7a24cb5f7af2ff
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Rodolpho Cammarosano de Lima (rcdl) <rcdl@odoo.com>
We have switched from a config_parameter (all companies rely on the
same) to account_edi_proxy_client_user.edi_mode which is company based
in `saas-16.3`.
We forgot to add the company to the domain while searching for existing
for test proxy users when changing the field in the res_config_settings.
So if it finds a test user "in any company" it still blocks you.
See: #116059
Task link: https://www.odoo.com/web#id=3525461&model=project.task
task-35225461
closesodoo/odoo#137012
X-original-commit: 63595f4bb1bc069387579f512082f128d1484fe5
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Paolo Gatti (pgi) <pgi@odoo.com>
Before this commit, all mail templates were shared, which was cluttering the UI for everyone.
Now, each user can have their own templates that they can edit and save through modules that use the mail composer. In the mail composer wizard, users can only access their own templates and templates that don't belong to anyone.
Some groups are considered as admins and can access all templates in Settings/Technical/Email/Email Templates:
- Sales Admin
- Project Admins
- Helpdesk Admins
- Accountants
- Event Admins
- Recruitment Admins
Task-2504439
closesodoo/odoo#126049
Related: odoo/enterprise#42993
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
With this commit, we now raise a UserError if a user tries to save a template
with a composer that has no attached model.
Task-2504439
Part-of: odoo/odoo#126049
Before this commit, all mail templates were shared, which was cluttering the UI
for everyone.
Now, each user can have their own templates that they can edit and save. Access
is done through the mail composer wizard, where users can only access their own
templates and templates that don't belong to anyone.
Some groups are considered as admins and can access all templates in
Settings/Technical/Email/Email Templates:
- Sales Admin
- Project Admins
- Helpdesk Admins
- Accountants
- Event Admins
- Recruitment Admins
Task-2504439
Part-of: odoo/odoo#126049
Steps to reproduce:
1. Go to the website
2. Add website languages
3. Drag Table Of Content
4. Select snippet block
5. Go to customize the block
6. Select visibility conditionally - set visible/hide for languages.
Before the commit, selecting block visibility conditionally makes only
the block is invisible but not the navbar content is invisible due to the
absence of the `data-visibility-id` attribute.
In this commit, handling conditional visibility of the navbar when the
the snippet block is invisible.
Also, This commit adds a check for missing visibility IDs in anchor
links. The code checks if both the visibility ID values exist or if they
are both missing. If either condition is met, the function returns
without creating the `<a>` tag.
task-3373943
closesodoo/odoo#137081
X-original-commit: 182d3f20d8d3ae8149280ac3084423ba11e0975d
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Before this commit:
-Font size does not get applied to selected cells.
-Font style buttons were active when cells are selected.
After this commit:
-Font size can be applied.
-The font styles should not all be toggle by default.
task-3477490
closesodoo/odoo#137080
X-original-commit: 1d20abfbfd9f337f356c5a237edc713fb973b636
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Signed-off-by: Sanjay Sharma (shsa) <shsa@odoo.com>
The module has been deleted, but the i18n directory is still there.
This commit removes it.
closesodoo/odoo#137079
X-original-commit: 603b9c6bf861c330eb28a15c095bba67483c1398
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Current behavior:
When refunding an order, the lot_id of the original order was not set
on the refund order.
Steps to reproduce:
- Create a product with tracking by lot
- Open the POS and add the product to the order
- Set a lot on the product
- Pay the order
- Refund the order
- Check the lot on the refund order, there is no lot set
opw-3485740
closesodoo/odoo#136991
X-original-commit: 8868f689f2aea48ca82ee00478083ba72370bfbd
Signed-off-by: Robin Heinz (rhe) <rhe@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
When user import records of project and if it contains tags in the file,
a traceback will appear.
Steps to reproduce the error:
- Go to project > Favorites > Import records > Upload File
Note: Make sure that file contains tags
Error: A traceback appears:
"TypeError: unsupported operand type(s) for +=: NoneType and list"
https://github.com/odoo/odoo/blob/0480005e4498d76fe7a3446693f41500122e41d7/addons/project/models/project.py#L2763
When user import records that contains tags, here args will be None.
So it will lead to above traceback.
sentry-4494554048
closesodoo/odoo#136973
X-original-commit: 9e14cf0fb618c517fe12138416e40c3e66383276
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
This reverts commit 656d8ace87.
The rational was: "If people don't have inventory, they will need a
backorder anyway and it's logical to not display the popup even
if the picking type has 'ask' for create backorder".
Also for the barcode application in OE we only show the reserved lines and
you could have the message if the picking was not fully reserve. Even if
you completed all the lines. So we could have a single flow for backend
and frontend.
But it's difficult for poeple to understand that the backorder is
base on the reservation and not on the initial demand. So we do a
step back. On top of it, people usualy won't mix flow. So they
could totaly use the "always create a BO" option on picking type
when they use the barcode and "ask" when they use the backend.
closesodoo/odoo#136725
X-original-commit: ed291c4d47783c5912ffb40db7893c321ccdb1e2
Related: odoo/enterprise#47959
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
By returning the `setSelection` value in the callback returned by the
`preserveCursor`, we allow better control for the caller over the fact that the
selection was effectively restored or if it failed.
task-3383561
closesodoo/odoo#126340
Related: odoo/enterprise#43087
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Issue:
------
Contracts with a "Yearly" recurring cost
are not applied every year in the report.
Cause:
------
We use truncation to compare dates.
The following condition:
```sql
date_trunc('month', coy.date) = date_trunc('month', d)
```
can be read as:
"When year and month are the same".
The `date_trunc` function sets to "zero" the parts of the date we want to truncate.
This is why the recurrence only appears for one year.
Solution:
---------
Use the date comparison provided with postgresql
and use `date_part` function to check the month.
opw-3468253
closesodoo/odoo#137060
X-original-commit: f2ed4a179bb10cbca1d095389deac75dd8ca054f
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
Signed-off-by: Thomas Lefebvre (thle) <thle@odoo.com>
This commit replaces the `.jpg`, `.jpeg` or `.png` extension of uploaded
images to `.webp` when the image is converted to webp.
task-3460171
closesodoo/odoo#137022
X-original-commit: 77624c9eafc7f21a2ec5edcd3d56ee76e646fc38
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
This commit makes the rpc call in the `loadImageInfo` method robust to
the case where an image src would be an absolute URL, by only
considering the relative part of the URL.
The images src are generally always relative but commit [1] wrongly put
absolute URLs to images in grid mode with the `_reloadLazyImages`
method. While this behavior was fixed by commit [2], the images that
were saved before this fix was available still have an absolute URL.
Hence the need to make `loadImageInfo` robust.
[1]: https://github.com/odoo/odoo/commit/cc406afcea7bf5846233a9f97a4a8ac5f618f3ec
[2]: https://github.com/odoo/odoo/commit/3528f2c3f9d3b30266f3421672986d202c724a76
task-3514519
closesodoo/odoo#136951
X-original-commit: af5ddabb0285daa9e57bc01cf21628f2f94bc18f
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
In the case where we have multiple projects, we also want to filter on
tasks linked to the SO. In the current implmementation, the default sale
order passed in the context is used to filter by name which results in
including tasks where name of the SO contains the name of the SO instead
of being equal.
opw-3499181
closesodoo/odoo#136895
X-original-commit: f24dc0b681db398755dcd5656c707273d3d72ef4
Signed-off-by: Audric Onockx (auon) <auon@odoo.com>
LinkTools creates http links by default, while OdooEditor creates https
links by default on paste and auto link transformation with SPACE.
This commit standardizes the result of both mechanisms, adopting "http"
as the default protocol.
task-3516854
closesodoo/odoo#136487
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Before this commit, when an existing link was edited with the LinkTools
or LinkDialog, the URL input field omitted the "mailto:" part of the URL
for email links, but displayed the protocol/scheme for http(s) links and
phone numbers (tel: or tel://).
This commit standardizes the behaviour of the referred input field such
that the protocol/scheme for http(s), mailto and tel URLs are omitted,
in order to have a cleaner UI.
task-3516854
Part-of: odoo/odoo#136487
When creating or editing a link via the LinkTools or LinkDialog, http
and email URLs can be deduced from incomplete user inputted URL (that
is, URLs not containing the http(s):// or mailto: protocol).
This commit extends such URL deduction to telephone numbers, allowing
the user to create a tel:// link without the need to explicitly write
"tel:" or "tel://".
Obs: "tel//:" protocol is preferred over "tel:" for the reasons stated
in [this] commit.
[this]: https://github.com/odoo/odoo/commit/56ce29e71f75a657d4b518d86c1d7084891e898e
task-3516854
Part-of: odoo/odoo#136487
Addons: auth_password_policy_portal, auth_password_policy_signup
The purpose of this commit is to convert PasswordMeter into a Public Component
so that the legacy Widget is no longer used.
Part of task 3439226
closesodoo/odoo#136159
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
This commit introduces the publicComponentService, which makes it easy
to mount OWL components in the front end. All public components will share
the same env and therefore the same services.
To define an OWL Component in a public template, first create an owl component
and add it to the "public_components" registry in javascript, then use
<owl-component name="key"> in the template, where key is the key you used when
registering your component. If you want to pass props to your component, you can
give it a props attribute in the template, containing the props as JSON.
Example:
My Public Component:
```js
class MyPublicComponent extends Component {...}
registry.category("public_components").add("my_public_component", MyPublicComponent);
```
My Public Template:
```xml
<templates>
...
<owl-component
name="my_public_component"
props='{"title": "My First Public Component"}'/>
...
</templates>
```
Part-of: odoo/odoo#136159
Co-authored-by: Samuel Degueldre <sad@odoo.com>
Before this commit, when creating a new partner using the quick create option,
partner is not set because an email address is required to send a shared link.
In this commit, hide the quick create option so that user can add email,
if user wants to share link.
task-3460164
closesodoo/odoo#131995
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Before this commit, get traceback on deleting project task record cause
it is getting stuck in recursion.
In this commit, fixes traceback issue by no calling get option itself.
task-3460164
Part-of: odoo/odoo#131995
This commit improves the visual indication of company dependent fields.
add icon of 'fa fa-building' on side of fields label.
task-3186717
closesodoo/odoo#130163
Related: odoo/enterprise#44830
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Current behavior:
When creating an invoice from a POS order, the invoice product is not
written in the customers language.
Steps to reproduce:
- Create a customer that uses French as language
- Make sure the user is using English as language
- Create a POS order for the customer
- Invoice the order and look for the product name
- The product name is in English but it should be in French
opw-3283743
closesodoo/odoo#137027
X-original-commit: 1081f7ff670f30e7d69b5e07fb1eb5b2619e3eaa
Signed-off-by: Robin Heinz (rhe) <rhe@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
To reproduce
============
- create sms template and apply it to a module different than `res.partner`
for example Tasks
- add context action
- create a task and select a customer that has a phone number
- from action try to send the sms, an error is displayed
Problem
=======
when computing the receipient info, the partner on the record is not taken
into account.
opw-3475456
closesodoo/odoo#137014
X-original-commit: 6e6a8c24c3ab1a6b3ff27564f4244ed3d6b4c022
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>