Commit Graph
29 Commits
Author SHA1 Message Date
Rémy Voet (ryv) 3c62ca1eb9 [REM] core: remove name_get API
Rationale
=========

Since v8, the `display_name` field is present on all models. By default,
`display_name` uses `name_get` which has pretty much the same purpose
(return record name used by the web client). Gradually, many (backend)
developers (and the ORM: https://github.com/odoo/odoo/commit/6da1c3ac4c036eac289597602976538e243cb939)
started using `display_name` (more convenient than
`record.name_get()[0][1]`) but it still had the `name_get` override.
It becomes more complex than necessary and poeple start to misunderstand
the two (and sometimes override both, leading to inconstiencies between
`display_name`/`name_get`).

To simplify the ORM and the API, we decided to keep only one of them,
the `display_name` field:
- It is much more convenient from a backend point of view
(`record.name_get()[0][1]` vs `record.display_name`)
- It is cached during the same transaction (and invalidated if
its dependencies change)
- It can be overridden like any other compute field (override
`_compute_display_name` with any extra dependencies)
- `name_get` is replaced by `read(['display_name'])`
(API perceptive), which can actually be more efficient
(if `display_name`'s depends are correct, the ORM will only fetch the
fields it needs instead of every prefetchable field)

Changes
=======

- Deprecates `name_get` for the v17 and based the method on
`display_name` (the opposite of before)
- Converts all usage of `name_get`
- Overrides of `name_get` are now overrides of `_compute_display_name`
- For `res.partner`, rename the field store `display_name` into
`complete_name` because `display_name` context-dependent and it makes
no sense to have a compute store that is context-dependent.
- Previously, it was possible to return multiple names for the same
record with `name_get`, but it was tricky and most of the usage of
this `name_get` didn't take this into account. The only example of
this is the `name_get` of `product.product`
(now use `", ".join(<names>)`).

Part-of: odoo/odoo#122085
2023-06-28 17:41:19 +02:00
Pratik Raval 1ba3cb040f [IMP] website_google_map: display correct partner location on map
Currently, when the geolocation coordinates (latitude & longitude) of
the partner are not set, location for such partners is shown in the
middle of the sea (on /partners page).

With this commit, the coordinates are handled properly so that if they
are not set, instead of sending "0.0" to the map API, we now pass them
as a Falsy value, so that Geocoder API could use the available address
and locate such partners properly in the google map.

taskID-2819772

closes odoo/odoo#88622

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2022-06-08 14:40:24 +02:00
Xavier Morel 50f59471d6 [IMP] website_google_map: de-t-raw-ify
t-raw is used to inject safe-ified JSON into a script tag.

The scriptsafe json pseudo-module takes care of that, so remove
explicit escaping and use a script-safe JSON dump.
2021-04-29 05:34:21 +00:00
Jeremy Kersten fef7ec7c97 [FIX] website,*: remove useless route from sitemap
preparation for cleaning of v13
task-2065018

closes odoo/odoo#39051

X-original-commit: 8a0fc6476c70a4126043de3b3efbd1096e41f968
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-10-18 14:59:02 +00:00
Jairo Llopis 5dad570423 [FIX] *: remove buggy calls to with_context
When .with_context() is called with a dictionary as 1st positional
argument, it will replace context (and not modify the referenced keys)
It may create bugs when losing the content of the context (e.g. remove
partner's language)

This is a partial merge of #36164 without the inventory part as
discussed.

closes odoo/odoo#36729

X-forward: 4717ccfa
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-09-12 06:18:18 +00:00
Sébastien Theys 1fa10cbc5d [FIX] base,website_google_map: fix partner address not showing
Following commit 983c7e8152.

`_compute_display_name` is overridden in partner to force `show_adress` and some
other context variables to None. When those values are in the context, calling
`display_name` can give a different result than calling `name_get()[0][1]`.

This commit reverts the changes of the mentioned commit where the behavior is
actually different, that is, when `show_address` is in the context.

It also adds a comment on the `_compute_display_name` method to avoid further
mistakes.

closes odoo/odoo#29510
2018-12-13 11:17:23 +00:00
TWA 983c7e8152 [IMP] mail,crm,...: Replace occurences of name_get()[0][1] by display_name
Purpose
=======

display_name is equal to doing name_get()[0][1]

Replacing name_get()[0][1] by display_name could be good for 2 things:
- Uniformization of the code
- Probable optimization if name_get is used inside a for loop on a recordset (as the values will be prefetched and put in the cache).

TaskID: 1849250

closes odoo/odoo#26341
2018-10-09 11:28:00 +00:00
Jeremy KerstenandDerie Romain 8300155cd6 [IMP] website: res_config_setting make most key website specific
google analytics, google map api key, ... can be set by website

Remove useless duplicated label

Co-authored-by: Derie Romain <rde@odoo.com>
Co-authored-by: Kersten Jérémy <jke@odoo.com>
2018-08-13 20:16:34 +02:00
Nicolas Martinelli c82b65c855 [IMP] website, website_{*}: Google Maps API Key
As of June 22 2016, the use of API key is required to access the
following:
- Google Maps JavaScript API
- Google Static Maps API
- Google Street View Image API

https://developers.google.com/maps/pricing-and-plans/standard-plan-2016-update

For domains accessing the API before June 22, it will still work without
an API key. Since Google advises to use the API key, we hide the Maps if
no API key is defined.
2016-08-25 16:33:23 +02:00
Jérome Maes 8a399930f3 [REF] website_*: remove render method on website
Since saas-3, website controllers use `request.website.render`
to render the template of a web page. This was kept for retro
compatibility. It's time to stop using deprecated stuff.
Same for `_render` method on website.

'json' route don't use `request.render` since
`JsonRequest` has no `render` method.
2016-08-04 12:02:14 +02:00
fwi-odoo d4e813b873 [REF] web, *: change deprecated import openerp.addons.web.http to odoo.http
We also remove the mock in web as there is no need for it anymore.
2016-08-03 13:42:05 +02:00
Christophe Simonis 4c7d9cb6a6 [MERGE] forward port branch 9.0 up to e0c0a5f 2016-07-29 12:04:24 +02:00
Christophe Simonis 50e148648d [MERGE] forward port branch 8.0 up to 9fe930e 2016-07-29 11:45:47 +02:00
Olivier Dony c372708b01 [FIX] website_google_map: do not allow invalid partner prefix
The only supported prefixes are the following:
 - /partners/ when website_partner and/or website_crm_partner_assign are installed
 - /customers/ when website_customer is installed
2016-07-28 17:27:54 +02:00
vbh-odoo 43edebc328 [MIG] website_google_map: new API migration 2015-10-08 11:01:56 +02:00
Christophe Simonis 4c2a1de75a [MERGE] forward port of branch 8.0 up to 22bd3bd 2015-07-01 18:11:32 +02:00
Olivier Dony 22bd3bdd2f [FIX] website_google_map: avoid errors in json serialization 2015-07-01 17:59:23 +02:00
Richard Mathot f04e6de2e7 [FIX][IMP] Make partner maps work properly
[FIX] website*: unfuck buggy controllers
[IMP] website*: display GoogleMap in a human-usable interface
[IMP] website_google_map: large module cleaning
      - There is now only one controller, data is sent once for all!
      - Map is now fully resizable in its hosting template
      - HTML/CSS cleaning
      - JavaScript is now human-readable ;-)
2014-06-03 16:34:30 +02:00
Fabien Meghazi 8e3a8bb0fe [FIX] google maps controller should be for POST only 2014-05-14 13:44:14 +02:00
chm@openerp.com 353bbdc2c3 [FIX] website: route and redirect: remove all backslash from url
bzr revid: chm@openerp.com-20140314162346-25vohj6ayp65tgiy
2014-03-14 17:23:46 +01:00
Christophe Matthieu 2b3ad30f8a [FIX] website: change auth=admin into auth=public. Fix website_project link
bzr revid: chm@openerp.com-20140129091050-w2d7dbigflwod1uj
2014-01-29 10:10:50 +01:00
Fabien Meghazi 14bb6060d7 [REM] Removed @website.route() decorator
Need trunk-website-al Rev#5151

bzr revid: fme@openerp.com-20140120153733-ve3dn2kwvha7n3yl
2014-01-20 16:37:33 +01:00
Fabien Pinckaers ed7623fc45 [IMP] Performance improvement: improved cache with context, better get_object
bzr revid: fp@tinyerp.com-20131130154659-uqis34x2cemmocly
2013-11-30 16:46:59 +01:00
Thibault Delavallée 726cda367e [FIX] website and all derived addons: fixed imports broken when moving
website.py to models/ directory in website (revision 9491 revid:xmo@openerp.com-20130930145358-qh7xdicgg21prsk4).

bzr revid: tde@openerp.com-20131001085739-hoczgpqrv2nrr6lb
2013-10-01 10:57:39 +02:00
Fabien Meghazi 0e82448ed8 [IMP] Refactor code + WIP multiwebsite
bzr revid: fme@openerp.com-20130910134133-esdgbhbtt8eguapk
2013-09-10 15:41:33 +02:00
Fabien Meghazi d2e90f0621 [BREAK] request.context everywhere
some stuff broken will be repaired by chm

bzr revid: fme@openerp.com-20130905151803-7d17us7rn9yubnb2
2013-09-05 17:18:03 +02:00
Fabien Meghazi 6621c1275b [IMP] Refactoring using webcontext
bzr revid: fme@openerp.com-20130904153236-gc78bs8pxeprktkr
2013-09-04 17:32:36 +02:00
Christophe Matthieu 65e7948132 [IMP] website_google_map: add helper google_map_json on res.partner
bzr revid: chm@openerp.com-20130830142504-ecogcw4l7r70zidz
2013-08-30 16:25:04 +02:00
Christophe Matthieu dec8c40c11 [IMP] rename website_google_map; add demo for event
bzr revid: chm@openerp.com-20130830134026-88luqb16o6ny6voy
2013-08-30 15:40:26 +02:00