18 commit(ask_confirm=False) |
18 commit(ask_confirm=False) |
19 |
19 |
20 if applcubicwebversion == (3, 6, 0) and cubicwebversion >= (3, 6, 0): |
20 if applcubicwebversion == (3, 6, 0) and cubicwebversion >= (3, 6, 0): |
21 _add_relation_definition_no_perms('CWAttribute', 'update_permission', 'CWGroup') |
21 _add_relation_definition_no_perms('CWAttribute', 'update_permission', 'CWGroup') |
22 _add_relation_definition_no_perms('CWAttribute', 'update_permission', 'RQLExpression') |
22 _add_relation_definition_no_perms('CWAttribute', 'update_permission', 'RQLExpression') |
23 session.set_pool() |
23 rql('SET X update_permission Y WHERE X is CWAttribute, X add_permission Y') |
24 session.unsafe_execute('SET X update_permission Y WHERE X is CWAttribute, X add_permission Y') |
|
25 drop_relation_definition('CWAttribute', 'add_permission', 'CWGroup') |
24 drop_relation_definition('CWAttribute', 'add_permission', 'CWGroup') |
26 drop_relation_definition('CWAttribute', 'add_permission', 'RQLExpression') |
25 drop_relation_definition('CWAttribute', 'add_permission', 'RQLExpression') |
27 drop_relation_definition('CWAttribute', 'delete_permission', 'CWGroup') |
26 drop_relation_definition('CWAttribute', 'delete_permission', 'CWGroup') |
28 drop_relation_definition('CWAttribute', 'delete_permission', 'RQLExpression') |
27 drop_relation_definition('CWAttribute', 'delete_permission', 'RQLExpression') |
29 |
28 |
30 elif applcubicwebversion < (3, 6, 0) and cubicwebversion >= (3, 6, 0): |
29 elif applcubicwebversion < (3, 6, 0) and cubicwebversion >= (3, 6, 0): |
31 session.set_pool() |
30 session.set_pool() |
32 session.execute = session.unsafe_execute |
|
33 permsdict = ss.deserialize_ertype_permissions(session) |
31 permsdict = ss.deserialize_ertype_permissions(session) |
34 |
32 |
35 changes = session.disable_hooks_category.add('integrity') |
33 changes = session.disable_hooks_category.add('integrity') |
36 for rschema in repo.schema.relations(): |
34 for rschema in repo.schema.relations(): |
37 rpermsdict = permsdict.get(rschema.eid, {}) |
35 rpermsdict = permsdict.get(rschema.eid, {}) |
79 |
77 |
80 session.set_shared_data('do-not-insert-cwuri', True) |
78 session.set_shared_data('do-not-insert-cwuri', True) |
81 deactivate_verification_hooks() |
79 deactivate_verification_hooks() |
82 add_relation_type('cwuri') |
80 add_relation_type('cwuri') |
83 base_url = session.base_url() |
81 base_url = session.base_url() |
84 # use an internal session since some entity might forbid modifications to admin |
|
85 isession = repo.internal_session() |
|
86 for eid, in rql('Any X', ask_confirm=False): |
82 for eid, in rql('Any X', ask_confirm=False): |
87 type, source, extid = session.describe(eid) |
83 type, source, extid = session.describe(eid) |
88 if source == 'system': |
84 if source == 'system': |
89 isession.execute('SET X cwuri %(u)s WHERE X eid %(x)s', |
85 rql('SET X cwuri %(u)s WHERE X eid %(x)s', |
90 {'x': eid, 'u': base_url + u'eid/%s' % eid}) |
86 {'x': eid, 'u': base_url + u'eid/%s' % eid}) |
91 isession.commit() |
87 isession.commit() |
92 reactivate_verification_hooks() |
88 reactivate_verification_hooks() |
93 session.set_shared_data('do-not-insert-cwuri', False) |
89 session.set_shared_data('do-not-insert-cwuri', False) |
94 |
90 |
95 if applcubicwebversion < (3, 5, 0) and cubicwebversion >= (3, 5, 0): |
91 if applcubicwebversion < (3, 5, 0) and cubicwebversion >= (3, 5, 0): |