Hi,

I re-open the discussion of
https://groups.google.com/d/msg/tryton-dev/v8nBMe_ZBDk/qrvCml95UVYJ

I have a solution which should be a mix of both previous solution.
I propose to active the access right control only if a keyword is set in
the context ('_check_access_right'). Of course to avoid cheating, the
context will be always set on RPC calls for create, read, write, delete,
copy, search, search_count, search_read, export_data, import_data and
history_revision.
The other methods could be:

    - buttons: managed by ir.model.button
    - selection: should be managed by the developer (but most of them
      doesn't need such access right)
    - manual RPC addition: so manually managed
    - default_get, fields_get, fields_view_get, view_toolbar_get: I
      propose to add also the context
    - on_change{,_with}, pre_validate: idem

So I'm thinking about adding a parameter to RPC to set or not the
context.

So to ease the transition, we could keep the root switch to deactivate
the access right. And later slowly remove such hack.

In this new design, the equivalent of "root switch" will be to set to
false in the context _check_access_right.

The only drawback, I see, is if someone right code which set in the
context user input data. But I think it is a very small drawback compare
to the advantage this design gives because in many places now we have to
«re-browse» or «switch the context» which slow down Tryton because it
kill the cache.

-- 
Cédric Krier - B2CK SPRL
Email/Jabber: cedric.kr...@b2ck.com
Tel: +32 472 54 46 59
Website: http://www.b2ck.com/

Attachment: pgpR9pDOzeZLt.pgp
Description: PGP signature

Reply via email to