Fix (de)serialization of ComputedRelation read permissions
For normal relation types, permissions don't need to be stored since
they're just default values for the relation definitions. However,
computed relations are serialized (as CWComputedRType), while their
relation definitions are added at schema finalization time, and are only
in memory. So add the 'read_permission' relation to CWComputedRType,
and the appropriate hooks to save and restore those permissions.
To avoid having to touch yams, we drop the 'add' and 'delete'
permissions from the default computed relation permissions; this should
probably be backported there. The actual permissions (set on the
relation definitions) are hardcoded in finalize_computed_relations
anyway.
In deserialize_schema, the CWComputedRType handling needs to be delayed
a little bit, until after we've called deserialize_ertype_permissions.
The rql2sql test is adjusted because CWComputedRType has a 'name'
attribute and the 'read_permission' relation, which generates ambiguity
vs CWEType.
We add an explicit CubicWebRelationSchema.check_permission_definitions,
since we need to check both that computed and non-computed rtypes are
defined properly.
Based on report and initial patch from Christophe de Vienne (thanks!).
Closes #5706307
include README
include COPYING
include COPYING.LESSER
include pylintrc
include bin/cubicweb-*
include man/cubicweb-ctl.1
include doc/*.rst
include doc/Makefile
recursive-include doc/book *
recursive-include doc/tools *.py
recursive-include doc/tutorials *.rst *.py
include doc/api/*.rst
recursive-include doc/_themes *
recursive-include doc/_static *
include doc/_templates/*.html
include doc/changes/*.rst
recursive-include doc/dev .txt *.rst
recursive-include doc/images *.png *.svg
include doc/conf.py
recursive-include misc *.py *.png *.display
include web/views/*.pt
recursive-include web/data external_resources *.js *.css *.py *.png *.gif *.ico *.ttf *.svg *.woff *.eot
recursive-include web/wdoc *.rst *.png *.xml ChangeLog*
recursive-include devtools/data *.js *.css *.sh
recursive-include i18n *.pot *.po
recursive-include schemas *.py *.sql
recursive-include test/data bootstrap_cubes *.py *.sql
recursive-include entities/test/data bootstrap_cubes *.py
recursive-include sobjects/test/data bootstrap_cubes *.py
recursive-include hooks/test/data bootstrap_cubes *.py
recursive-include server/test/data bootstrap_cubes *.py source* *.conf.in *.ldif
recursive-include devtools/test/data bootstrap_cubes *.py *.txt *.js *.po.ref
recursive-include web/test/data bootstrap_cubes pouet.css *.py
recursive-include etwist/test/data *.py
recursive-include web/test/jstests *.js *.html *.css *.json
recursive-include web/test/windmill *.py
recursive-include skeleton *.py *.css *.js *.po compat *.in *.tmpl rules
prune doc/book/en/.static
prune doc/book/fr/.static
prune doc/html/_sources/
prune misc/cwfs
prune doc/js_api
global-exclude *.pyc