This commit fixes a bug where the value of an autocomplete with autoselect
could go into an undefined state where the model value doesn't match the
input value but no change is detected. This would happen on escape press,
scroll and more recently due to https://github.com/odoo/odoo/pull/159333
on click out. To fix this issue, the commit introduces some change in the
autocomplete behavior so that it will no longer select the active option
on click out (blur) when autoselect is active and instead it will revert
the input value to the one stored into the model. Also applies this
behavior on escape key press and scroll for the before mentioned reasons.
Steps to reproduce:
- Go to CRM form view
- Edit the salesperson name to some non existant one and click out (or
scroll or press escape)
Before the fix, the name was stuck to the invalid one but no change was
detected so we couldnt save it. Before https://github.com/odoo/odoo/pull/159333,
click out would select the active option of the dropdown instead (and
launch a dialog for quick create). This is removed because the behavior
is neither intuitive nor practical. After the fix, the name is reset to its
previous valid value instead. This applies to all autocomplete components
with autoselect prop set to true.
closesodoo/odoo#162040
X-original-commit: 9d9026ed0c7bb0af6cf910cc206cf8b55d1b7a36
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Julien Carion (juca) <juca@odoo.com>
This commit fixes an issue regarding unwanted interaction between the
regular autocomplete option click selection and the onChange handler
from the input field hook used in the PartnerAutoCompleteCharField
component. This became an issue starting from https://github.com/odoo/odoo/pull/154203
because of the disappearance of the t-on-mousedown.prevent handler
placed on the autocomplete options list which would prevent the onChange
event from being triggered when clicking on an option. The issue would
be that the onChange handler from the input field hook would take
precedence over the option click handler of the autocomplete which would
most of the time be ignored afterwards. The solution found for This
problem is to prevent the immediate propagation of the change event
in the autocomplete handler when an option has been clicked on so that
it will never be propagated to the input field hook handler in this case.
Steps to reproduce:
- Go to contacts and open a company contact
- Type in the name field a few characters (at least 3)
- Click on any autocomplete option
Most of the time, the option will not be applied and the name won't change
closesodoo/odoo#160561
X-original-commit: aa1e5eabb67800fbf4155c9cae12b90d97bb75db
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Julien Carion (juca) <juca@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Steps to reproduce:
[account, iap credit]
- create a new invoice
- start to write "test" for the partner
Issue:
The partner autocomplete is not displayed
Cause:
in #150106 we add a condition for the quickCreate bypassing the possibility of having createEdit set to true
opw-3698400
closesodoo/odoo#155781
X-original-commit: 5f342b816c16fbbaefdb61d8bfac8376132dbfeb
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Signed-off-by: Yolann Sabaux (yosa) <yosa@odoo.com>
This commit fixes test case to properly target auto
complete block to check auto complate feature is working
as expected or not.
task-3690532
closesodoo/odoo#150279
X-original-commit: b556b7c309530cede3577a3bfc884b1fe821537c
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Signed-off-by: Kartik Chavda (kcv) <kcv@odoo.com>
Before this commit auto complete suggestion were showing on partner field even though there
is no_create attribute on partner field and because of that user can create partner record
from that field even though user is not allow to create record from it and also it gives
trackback in partner portal field because of access_token.
This commit prevent auto complete suggestion when partner field has no_create attribute
set on them to avoid unnecessary partner creation from that field.
task-3690532
X-original-commit: ba2edab747db2c89d06feb9422d7f53a759766ae
Part-of: odoo/odoo#150279
The first search request for a VAT number will always fail,
because we validate the VAT based on previous requests of the VAT
before we return the company information to avoid returning the wrong company
If no validated VAT is found and vies vat found the company,
we return the information provided by vies vat
task-3548046
closesodoo/odoo#148972
X-original-commit: a591e9c061374bfaf84d41a94246cff83ab1899c
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Signed-off-by: Lina Eweis (liew) <liew@odoo.com>
Suggestions can now be accessed by entering a GST number in the Tax
ID field of the contact form.
Add the option of allowing completion even with an 'insufficient
credit' error.
closesodoo/odoo#143532
X-original-commit: 2e47f94eba7a6c9df278c887f879fffeb8552706
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Until now, only Eyropean tax numbers were taken into account.
Now, Indian numbers are also considered valid and sent to IAP
for link creation.
This commit takes advantage of IAP changes, which now integrates
the Indian GST tax number system.
closesodoo/odoo#142082
X-original-commit: 1a1b9b27efda49fce6a61c0aeb8deb60e040771e
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Signed-off-by: Damien Decleire (deda) <deda@odoo.com>
Fixes a few issues in `jsvat`:
- Since the end of 2022, valid Belgian VAT numbers starting with `BE1`
have been attributed, the regex had to be adjusted.
- Since Brexit, Northern Ireland has to use the `XI` prefix instead of
`GB`.
- Removes the default country code logic. As Odoo is used worldwide, it
didn't make sense to use `GB` as the default country code when no
country code is mentioned.
closesodoo/odoo#139098
X-original-commit: f486a41f729ea7e934c81671972b3b1162986860
Signed-off-by: Francois Georis (fge) <fge@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
The aim of this commit is to improve the impact and rendering of app
icons in bright and dark mode. It also reduces the size of svg files.
To achieve that, this commit updates the colors to flat colors. This
change will make the icons stand out and improve their readability.
task-3072562
X-original-commit: 667a19162b74fb6554a2389ba9c6e69de4ff5113
Part-of: odoo/odoo#138279
The `partner_gid` key isn't part of the response of the Autocomplete API
of Clearbit anymore, so we can't rely on its presence to know if the
suggestion comes from Clearbit or not.
Ticket #3321391closesodoo/odoo#137354
X-original-commit: 63b8aa6b69d917c5c1cc83e11c530cd2fd665f25
Signed-off-by: Francois Georis (fge) <fge@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Establish a set of target font-weight values (may not directly match the
final result on screen).
Enable the system to naturally utilize the "bolder" font-weight.
Remove previous customizations designed for "Roboto" that clashed
with certain system-fonts.
Enforce the "normal" font-weight for icons, regardless by their parent
design.
Adapts some kanban titles.
closesodoo/odoo#134824
X-original-commit: 74fce06cad4000a3894757d4fef9074b64153b7b
Related: odoo/enterprise#47140
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Co-authored-by: Brieuc-brd <brd@odoo.com>
As all the templates are now imported in the owl app, there is not need
anymore to specify the owl="1" attribute in the templates.
Part of task~3443861
Part-of: odoo/odoo#130467
Prior to this commit, the SVG's viewBox attribute was missing, which
prevented svgs from being scaled.
This commit fixes this issue.
task-3326633
Part of task-3326263
X-original-commit: 30300c373ad1c63a6cf8b035cae0785a09c6933f
Part-of: odoo/odoo#121886
This commit adapts the directional icons to improve the usability and
maintain consistency with the ui icons library.
task-2818586
Part-of: odoo/odoo#116641
Since the Owl conversion of the partner autocomplete widgets, the search
by VAT number on a `Many2one` field of `res.partner` wasn't working
anymore.
closesodoo/odoo#118784
X-original-commit: 6229674b1788b4e9b62ebc5393e2d09b68b4a56e
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Make the res_partner_many2one behave similarly to the many2one field
during blur where a confirmation dialog is shown.
closesodoo/odoo#118008
Task-id: 3205625
X-original-commit: 198fdca401ff6b0062111f513138af76eeb68e23
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit adds a new service "overlay" that will be used as a base
for other service which displays a component on foreground like
"popover" or "dialog". The services "popover", "dialog" and "effect"
already uses this new service to have a common container.
The "overlay" service also fix a stacking context issue that could
happen when a popover opened a dialog and this dialog then opened
another popover thanks to the common container.
task id: 3233266
closesodoo/odoo#115308
Related: odoo/enterprise#38786
Signed-off-by: Bruno Boi (boi) <boi@odoo.com>
Before this commit when the partner autocomplete field was used
the form title css rules defined in o_field_char were missing.
So now the width: 100% is also applied when the partner autocomplete
is a title and takes the whole available space.
closesodoo/odoo#114610
X-original-commit: b9788544b7101e5a202cf87989bc3f5fc0495249
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
This commit, is part of a series of commits that aim to simplifie the
concrete fields API.
In this commit we will remove value prop from concrete fields. Now each
field will directly use this.props.record.data[this.props.name] to
access their value, As a consequence of this, the name props need to be
mandatory.
task-id 3179751
closesodoo/odoo#113495
Related: odoo/enterprise#37464
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit, the field's description was stored on the
component and this component was then registered.
Now, an object describing the field is used on registration the same way
as it is done for views since https://github.com/odoo/odoo/commit/b828cfc72c587d0b73fcc5459695705640437671.
This split the component's description (props, template, ...) of
the field's description (displayName, supportedTypes, ...) and makes
it clearer.
closesodoo/odoo#112498
Task: 3171520
Related: odoo/enterprise#37105
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The placeholder on the partner name was working for a partner that is
an individual but not company. This will fix that.
Task id #3138441closesodoo/odoo#111324
X-original-commit: 00256249f880b1b6de3fc768beb0a2bc56191ada
Related: odoo/enterprise#36452
Signed-off-by: Quentin De Paoli <qdp@odoo.com>
Signed-off-by: Nicolas Viseur (vin) <vin@odoo.com>
Partner Autocomplete wasn't available anymore on the name/VAT of
`res.company` records since its Owl conversion.
closesodoo/odoo#103886
X-original-commit: f12176755a97bcee66722d9d9281ae7ac6424dbc
Signed-off-by: Georis François (fge) <fge@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Before commit:
The `jsvat.js` library used to be lazyloaded but was added to the bundle
in the manifest during the conversion to owl and the lib was loaded at
startup every time.
After commit:
The `jsvat.js` file is lazy loaded using loadJS when the component is
first selected so the lib is only loaded when it is actually needed.
The lib is also loaded before running the tests to prevent the asynchronous
call from making the tests fail.
closesodoo/odoo#102740
X-original-commit: 07845e522fb9212126e9f206b4166040e4eea166
Signed-off-by: Géry Debongnie <ged@odoo.com>
The `field_partner_autocomplete` & `res_partner_many2one` widgets are now
converted to Owl.
It required some changes in the `Autocomplete` component as we needed to
access the ref of the `<input/>` element to pass it to the `useInputField`
of `CharField`.
The hook `useInputField` was also modified to allow passing a ref directly
as parameter instead of a ref name.
X-original-commit: 0b8c86bc5b19baccf7324fd4b18d438278816a5a
Part-of: odoo/odoo#102220
When using the widget res_partner_many2one (e.g. in the customer invoice
form view), the VAT number disappears when being in 'edit' mode.
This is caused by the '_getDisplayNameWithoutVAT' function, which was introduced
in PR https://github.com/odoo/odoo/pull/29189, because the VAT appeared in edit mode
but disappeared when saved at that time.
Since the VAT no longer disappears when saved, we no longer need this function
removing the VAT from the edit mode.
task-2749331
closesodoo/odoo#87843
X-original-commit: 78a5e53a99d9f0f04edf42f1ed8d713fda4de36e
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: Julien Van Roy <juvr@odoo.com>
Reduces load_menus answer size by 32% (between 20kb and 200kb savings
for the initial loading of the backend, depending on the number of apps
installed). Support for SVG icons in the web client for menus/apps.
Reduced PNG icons for apps list (8 bits PNG instead of 24 as our icons
don't need more colors as they are flat designs)
closesodoo/odoo#84280
Related: odoo/enterprise#24200
Signed-off-by: Fabien Pinckaers <fp@odoo.com>
Currently markup-ification of the legacy notifications system
display the html content in notification layout for some of the
notification of document and planning from commit: https://github.com/odoo/enterprise/commit/ba44461fea337ed2e5adbdfa1e8eede00b036def
So here in this commit, we make the method `makeLegacyNotificationService`
always `_.escape(message)` and pass `messageIsHtml: true` to the owl
notifications system so notification with html content will be displayed
properly.
Task-2657391
closesodoo/odoo#78627
X-original-commit: 7ce6d8d70be79c9c626865598b898dce9a18b045
Related: odoo/enterprise#21782
Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
base: The two elements were not distinguishable by an xpath.
partner_autocomplete: Use new ids in xpath
The class `o_text_overflow` set on the fields was also
preventing the dropdown menu from appearing. This class is
now moved to the `input` tag instead of the while `div`.
closesodoo/odoo#78141
Task: 2638570
X-original-commit: fd7bfbccd45f874d5a826e695858bc75c8467700
Signed-off-by: Florian Daloze (fda) <fda@odoo.com>
When writing the new webclient, the notification service was rewritten,
and all of its uses in production code were changed to use the new
services, however, some tests were still reliant on the old notification
service.
This commit removes references to the legacy notification service so
that we can be one step closer to removing it from the code base.
Part of #72675
* google_recaptcha, mail, partner_autocomplete, point_of_sale, website
Now, to read session information, the module "@web/session" must be
imported. Not that, there is also the user service with all the user
information.
closesodoo/odoo#73201
Related: odoo/enterprise#19434
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit adapts the community codebase to the rewriting of the
/web application in owl.
Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Bruno Boi <boi@odoo.com>
Co-authored-by: Géry Debongnie <ged@odoo.com>
Co-authored-by: Samuel Degueldre <sad@odoo.com>
Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
Co-authored-by: Simon Genin (ges) <ges@odoo.com>
Co-authored-by: Francois (fge) <fge@odoo.com>
Co-authored-by: Michael Mattiello (mcm) <mcm@odoo.com>
Co-authored-by: Julien Mougenot <jum@odoo.com>
Co-authored-by: Lucas Perais (lpe) <lpe@odoo.com>
Co-authored-by: Jorge Pinna Puissant <jpp@odoo.com>
Currently, in the res.company form view, name field
is extremely short.and in mobile view name field
is hidden by other element because of placeholder
is too long.
after this commit the length of name field is should
be as long as the res.partner one and change the
placeholder (e.g. My Company) instead of (e.g. My Awesome
Company) for idle mobile look.
closesodoo/odoo#70241
Taskid: 2520268
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit will add the needed ESLint configurations on the JS files.
These configurations are added if the JS file uses a different
environment (serviceworker, node, etc) or if it uses a specific global
(google, ace, etc).
Co-authored-by: Samuel Degueldre <sad@odoo.com>
This commit's primary objective is to ensure that the timesheet uom is working in accordance
with the company settings in a multi company environment.
Prior to this commit:
- The timesheet preferences sent to the front end were always those of the default
company of the user.
- The timesheet related widgets initialisation process (adding the correct ones in
the fieldRegistry) was performed before the front end treatment of cids and coockies
which prevented applying the front end selected company settings.
After this commit:
- A dictionnary is used in the session in order to structure the companies info.
- The company timesheet preferences are sent to the front end through the company dict.
- The uom info is sent to the front end through the session.
- The timesheet uom is now managed from the frontend and is now in sync with the settings.
- Timesheet widgets are initialised during the AbstractWebClient init and are in sync with
the multicompany front end settings
task-2168337
Closes: #66551
In order to make a wow effect right after DB install we enrich the base
company based on the given email address or company website at install.
In order to achieve that goal we use the partner_autocomplete service from
IAP. It uses free credits that are offered to new clients on saas platform.
Only the fields that are not filled yet are enriched to avoid erasing user
entered data, except logo. Indeed as partner_autocomplete is probably installed
as a core app (mail -> iap -> partner_autocomplete auto install chain) it is
unlikely that people already updated their company logo.
We consider that having a call to IAP consuming a token is ok for a standard
use case, especially that
* if no iap service is configured call to IAP won't add much timing;
* on Odoo SaaS free credits are given and company is enriched;
* on custom SaaS with custom iap service, at db creation probably no
credits are given and call will simply give no results back;
We decided to call IAP asynchronously at client web load. Session combined to
a boolean field on company model allows to do this call only once per company.
Doing this allows to avoid adding yet another post init hook. It also eases
behavior tweak through inheritance.
This call is limited to admin for obvious security reasons as well as
performance reason (limiting calls to external providers). As call will be
done once per company generally admin is the first person to log into the
its newly created Odoo.
LINKS
Task ID-2322455
PR odoo/odoo#64600
PR odoo/upgrade#2086
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallee <tde@odoo.com>
Previously, in company form view, avatar was not clickable due to a
`block` div that was overlapping the avatar widget and preventing
clicking on it.
This commit fixes the issue by preventing the overlap and thus making
the image widget on company form clickable.
Note that another fix would be to remove `partner_gid` from the company
form view (it's already the case in 14.0).
In this case "oe_title" is directly followed by .o_form_view .oe_avatar
and a padding-right: 100px is applied:
.o_form_view .oe_avatar + .oe_title {
padding-right: 100px;
}
However, considering stable version, changing fields position
should be avoided.
Task Id: 2231950
closes odoo/odoo#62634
Pr: #53798
X-original-commit: 6e6847767b1c2ef741773a1a8a63cccbcf31e798
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
Co-authored-by: D J <dja@odoo.com>
Purpose of the task is to update the icon of the various modules.
So in this commitn updated App icons of the following modules:
-fetchmail
-iap
-mail_bot
-partner_autocomplete
-sale_timesheet
-sms
-snailmail
Related PR: https://github.com/odoo/enterprise/pull/14408closesodoo/odoo#60817
Taskid: 2369682
Related: odoo/enterprise#14408
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
When IAP reply when an error for partner_autocomplete, show the error
instead of thinking `error` and `error_message` are res.partner data
which leads to subsequent errors.
opw-2337763
opw-2341473
closes#58024closesodoo/odoo#58241
X-original-commit: 0c71cc51adf92582c89ae7c78141278bae341f22
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
In this commit, we ensure that the vat is
added to the company data if an error occured
when contacting iap-services.
task~2092378
closesodoo/odoo#57335
X-original-commit: 848733b758063307bbbbf69eee10cd2426e9c017
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
- the email returned by Partner Autocomplete is often useless as it is
quite generic/random e.g. info@company.com. As it is set automatically,
the user might not realize he is going to send an email to that
generic address.
- not returning the email address faclitates some onboarding flows. It
allows us to prompt the user to set his own email address to have a
preview of the emails we are sending.
Note that this information is not lost but rather displayed in the
chatter of the partner record.
However, we do not propagate this modification to other services like
Lead Enrichment or Lead Generation since this kind of email is still
relevant to:
- approach a new prospect
- enrich information and create leads based on the email domain
TaskID 2321864
closesodoo/odoo#56038
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Partner autocomplete suggestion popup cropped from the top in small devices.
once you type anything in M2O box, autocomplete popup will display with all
maximum possibilities consist of the database records and records got from
global search partner API.
Currently, we have limit of database record search is 7 and autocomplete
display maximum 16 items databse records + API generated records.
So with this commit, we have reduced the API record display limit for small
devices, based on height it will display number of items in autocomplete box,
this will reduce chance of cropped issue.
Task:2206844
closesodoo/odoo#51151
X-original-commit: ded375786557ae6c7680409faa32cbe3a4e30e99
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The m2o widget did not provide the correct default context key.
closesodoo/odoo#46888
X-original-commit: d59ebe634f3d9f89d493ca38418513bea24f3ba9
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>