Romain Derie 8850e98233 [FIX] website: prevent upsert crash if GEOIP country not found in odoo
It was reported the following error:
```
psycopg2.errors.DatatypeMismatch: column "country_id" is of type integer
                                  but expression is of type boolean
LINE 9:                 false, 1, NULL, 4, 4,
```

The root cause is unknown, it's not yet sure how this is happening
exactly.
This commit is then fixing naively the consequence.

Somehow, GEOIP is returning a country code which does not exists in Odoo
for this error to appear. It's normally not possible.

There is multiple possible cases that would lead to this error:
- The user modified the `code` field of a country in his DB (unlikely)
- The user deleted a country in his DB (unlikely)
- The GEOIP database is returning a country which does not exists in
  Odoo. This is the most probably case, even if the latest up to date
  `GeoLite 2 City` seems to have the exact same country code list as in
  Odoo 16.0 (250 exact same ones).

Moving the country_id search directly in the query will prevent the
issue and is better anyway to avoid an useless query everytime when
GEOIP is enabled.
Perf wise, it doesn't seems to alter at all the query speed.

closes odoo/odoo#108232

X-original-commit: 42fe2540620b7529d9a848c4570290cbf64a4f48
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
2022-12-18 22:27:46 +01:00
2022-12-13 17:03:17 +01:00
2022-12-16 12:45:42 +01:00
…
…
…

Build Status Tech Doc Help Nightly Builds

Odoo

Odoo is a suite of web based open source business apps.

The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...

Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.

Getting started with Odoo

For a standard installation please follow the Setup instructions from the documentation.

To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials

S
Description
No description provided
Readme LGPL-3.0
3.4 GiB
Languages
Python 49.6%
JavaScript 47.8%
SCSS 2%
CSS 0.3%
HTML 0.2%