summaryrefslogtreecommitdiff
path: root/odoo/addons/test_access_rights/ir.model.access.csv
AgeCommit message (Collapse)Author
2019-10-11[FIX] models, test_access_rights: restore normal ACL checkNans Lefebvre
Because of 4b1cb41cf7a3f936a1e6d00a2bb6a6a29e82d711, we might try to read the field 'active' on a record on which we can't read fields besides the name. This thus triggers an access error where there should not have been. In particular, this is the case for portal users: most often the records they can access point to records that they can't read (e.g. the partner of the internal user assigned to the ticket). As a result, clicking on any link creates an ACL, and thus redirects to the home page. It turns out that filtered_domain was primarily used on already loaded records, typically for the write, so it was assumed that the records could be read in the first place. However in the use-case of the portal, there is an explicit check on the read rights with the portal user, explaining the discrepancy. Since in the general case filtered_domain should be able to read all fields to evaluate the domain, we put it in sudo. fix co-authored with @rco closes odoo/odoo#38540 X-original-commit: cff5cc8cc78a32eb204368e84ec4980324046405 Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-08-19[MERGE] forward port branch 12.0 up to 32039b2ab44Christophe Simonis
2019-08-19[FIX] ir_rule: invalid user context propagationJulien Castiaux
Create two models, `object` and `category`. The object have a Many2One to the category. Override the `search` on the category so it returns a subset of the records if a context key is present. Create an IR Rule on object with the following pseudo-domain: `categ_id in category.search([])`. Search on object with the context key present. Even if the context should only be applied to category, it is applied to object too thus there are some object missing. When evaluating the domain of IR Rules, the current user is propagated with the current environment context. API calls triggered by the domain are called with the given context, possibly populating the cache with different records than it would normally does without the context (i.e. at `addons/point_of_sale/models/account_journal.py#L19-L23`). Following requests do use that invalid cache thus return invalid results. Forcing an empty context on the user used during the evaluation of the context ensures the IR Rules are working as they should and is future-proof (cf `load_company` v13 context key) opw-2041667 closes #35123 closes #35125 closes odoo/odoo#35667 Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com> Co-authored-by: Hugo Adan <hugo@vauxoo.com>
2019-02-06[IMP] access errors through related fieldsXavier Morel
When an access error bubbles through a related field (aka the user doesn't have access to the delegate or the delegate's field), append the "intermediate step" so that it's easier to understand e.g. that the access error to a partner really comes from accessing a user or somesuch.
2016-09-02[REF] openerp: move `openerp` to `odoo`Raphael Collet