odoo/openerp
Goffin Simon b00f0185a2 [FIX] models: read_group on many2one fields
When making on model A a read_group with groupby equal to a many2one field F1 to a model B
which is ordered by a inherited not stored field F2, the group containing all the
records from A with F1 not set was not returned.

Example:
model A= "hr.applicant"
model B= "res.users" (_order = "name,login")
inherited model= "res.partner"
field F1= "user_id"(to "res.users)
field F2= "name"(inherited from "res.partner")

In this example, the query generated by the function "read_group" was:

SELECT min(hr_applicant.id) AS id, count(hr_applicant.id) AS user_id_count , "hr_applicant"."user_id" as "user_id"
FROM "hr_applicant" LEFT JOIN "res_users" as "hr_applicant__user_id" ON ("hr_applicant"."user_id" = "hr_applicant__user_id"."id"),"res_partner" as "hr_applicant__user_id__partner_id"
WHERE ("hr_applicant"."active" = true) AND ("hr_applicant__user_id"."partner_id" = "hr_applicant__user_id__partner_id"."id")
GROUP BY "hr_applicant"."user_id","hr_applicant__user_id__partner_id"."name","hr_applicant__user_id"."login"
ORDER BY  "hr_applicant__user_id__partner_id"."name" ,"hr_applicant__user_id"."login"

which always returned "hr.applicant" groups of records with a "user_id" set due to the inner join maked on res_partners.

This inner join on "res_partner" is coming from function "add_join" calling by "_inherits_join_add"
in _generate_order_by_inner.

Introduced by dac52e344c

opw:651949
2015-10-16 12:11:31 +02:00
..
addons [FIX] models: read_group on many2one fields 2015-10-16 12:11:31 +02:00
cli [FIX] cli: Backport client command discovery optimization 2015-07-12 16:40:55 +02:00
conf [MERGE] openerp.pooler is deprecated. 2013-03-27 17:40:45 +01:00
modules [FIX] module loading: pre/post_init_hook execution 2015-07-29 12:30:14 +02:00
osv [FIX] fields: in binary fields, pass `strip_style` parameter between APIs 2015-09-23 15:28:12 +02:00
report [MERGE] forward port of branch 7.0 up to 99c87b6 2015-05-21 16:33:45 +02:00
service [FIX] web: current transaction is aborted 2015-10-13 17:12:34 +02:00
tests [MERGE] forward port of branch saas-3 up to 24bcdb7 2015-09-22 15:40:28 +02:00
tools [FIX] YAML: `!menuitem` tag handling 2015-09-28 17:15:38 +02:00
workflow [IMP] workflow: add sequence for ordering workflow transitions (split/join mode especially for XOR) 2014-08-05 12:26:28 +02:00
PKG-INFO [REM] netrpc: KILL EVERYBODY 2013-02-21 13:18:25 +01:00
__init__.py [IMP] fields: turn field.digits and column.digits into dynamic properties 2015-03-23 14:36:15 +01:00
api.py [IMP] api: improve documentation of `api.onchange` 2015-10-02 11:58:44 +02:00
exceptions.py [ADD] doc: new documentation, with training tutorials, and new scaffolding 2014-08-22 17:51:20 +02:00
fields.py [FIX] fields: fix assignment of related field on several records 2015-10-02 17:05:35 +02:00
http.py [FIX] http: no auto-load for modules not installable 2015-09-09 13:56:55 +02:00
import_xml.rng [MERGE] ir-ui-view split active and show_customize 2014-08-31 16:56:44 +02:00
loglevels.py [REF] logging: removed pseudo log-level TEST. 2013-03-26 16:58:44 +01:00
models.py [FIX] models: read_group on many2one fields 2015-10-16 12:11:31 +02:00
netsvc.py [MERGE] forward port of branch 7.0 up to 1c0bc7c 2015-06-30 12:47:27 +02:00
pooler.py [IMP] registry: avoid every direct access registry.db, and rename attribute as registry._db 2014-04-09 15:35:15 +02:00
release.py [REL] Odoo 8.0 2014-09-18 12:11:18 +02:00
sql_db.py [FIX] Cursor.closed property 2015-05-11 16:24:33 +02:00