author | Sylvain Thénault <sylvain.thenault@logilab.fr> |
Wed, 16 Sep 2015 16:04:17 +0200 | |
changeset 10799 | ec97974b9010 |
parent 10633 | d800ecd381f6 |
permissions | -rw-r--r-- |
9961
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
1 |
# copyright 2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
2 |
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
3 |
# |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
4 |
# This file is part of CubicWeb. |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
5 |
# |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
6 |
# CubicWeb is free software: you can redistribute it and/or modify it under the |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
7 |
# terms of the GNU Lesser General Public License as published by the Free |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
8 |
# Software Foundation, either version 2.1 of the License, or (at your option) |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
9 |
# any later version. |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
10 |
# |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
11 |
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
13 |
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
14 |
# details. |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
15 |
# |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
16 |
# You should have received a copy of the GNU Lesser General Public License along |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
17 |
# with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
18 |
|
9971
5e44dd9dde6b
[CWEP002 migration] support sync_schema_props_perms for computed attribute
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9970
diff
changeset
|
19 |
from yams.buildobjs import EntityType, RelationDefinition, ComputedRelation, Int, Float |
9961
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
20 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
21 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
22 |
class Employee(EntityType): |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
23 |
pass |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
24 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
25 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
26 |
class employees(RelationDefinition): |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
27 |
subject = 'Company' |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
28 |
object = 'Employee' |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
29 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
30 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
31 |
class associates(RelationDefinition): |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
32 |
subject = 'Company' |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
33 |
object = 'Employee' |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
34 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
35 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
36 |
class Company(EntityType): |
9971
5e44dd9dde6b
[CWEP002 migration] support sync_schema_props_perms for computed attribute
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9970
diff
changeset
|
37 |
score100 = Float(formula='Any AVG(NN) WHERE X employees E, N concerns E, N note100 NN') |
9961
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
38 |
|
10633
d800ecd381f6
[server/test] bit of PEP8
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10632
diff
changeset
|
39 |
|
9961
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
40 |
class Note(EntityType): |
9969
0f64ef873f7a
[CWEP002 migration] support add_relation_type/add_attribute for computed attributes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9964
diff
changeset
|
41 |
note = Int() |
9970
671bbfed459b
[CWEP002 migration] support drop_relation_type/drop_relation_definition/drop_attribute for computed attributes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9969
diff
changeset
|
42 |
note20 = Int(formula='Any N*20 WHERE X note N') |
9971
5e44dd9dde6b
[CWEP002 migration] support sync_schema_props_perms for computed attribute
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9970
diff
changeset
|
43 |
note100 = Int(formula='Any N*20 WHERE X note N') |
9961
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
44 |
|
10633
d800ecd381f6
[server/test] bit of PEP8
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10632
diff
changeset
|
45 |
|
9961
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
46 |
class concerns(RelationDefinition): |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
47 |
subject = 'Note' |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
48 |
object = 'Employee' |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
49 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
50 |
|
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
51 |
class notes(ComputedRelation): |
cef58bd36f7b
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Laura Médioni <laura.medioni@logilab.fr>
parents:
diff
changeset
|
52 |
rule = 'S employees E, O concerns E' |
9964
f4a3ee05cf9d
[CWEP002 migration] support sync_schema_props_perms for computed relations
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9961
diff
changeset
|
53 |
|
f4a3ee05cf9d
[CWEP002 migration] support sync_schema_props_perms for computed relations
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9961
diff
changeset
|
54 |
|
f4a3ee05cf9d
[CWEP002 migration] support sync_schema_props_perms for computed relations
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9961
diff
changeset
|
55 |
class whatever(ComputedRelation): |
f4a3ee05cf9d
[CWEP002 migration] support sync_schema_props_perms for computed relations
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9961
diff
changeset
|
56 |
rule = 'S employees E, O concerns E' |
10632
d89e9176d263
[migration] don't attempt to carry over values when renaming a computed relation
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9971
diff
changeset
|
57 |
|
d89e9176d263
[migration] don't attempt to carry over values when renaming a computed relation
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9971
diff
changeset
|
58 |
|
d89e9176d263
[migration] don't attempt to carry over values when renaming a computed relation
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9971
diff
changeset
|
59 |
class to_be_renamed(ComputedRelation): |
d89e9176d263
[migration] don't attempt to carry over values when renaming a computed relation
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
9971
diff
changeset
|
60 |
rule = 'S employees E, O concerns E' |
10799
ec97974b9010
make sync_schema_props_perms(<computed rtype>) work as expected
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10633
diff
changeset
|
61 |
|
ec97974b9010
make sync_schema_props_perms(<computed rtype>) work as expected
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10633
diff
changeset
|
62 |
|
ec97974b9010
make sync_schema_props_perms(<computed rtype>) work as expected
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10633
diff
changeset
|
63 |
class perm_changes(ComputedRelation): |
ec97974b9010
make sync_schema_props_perms(<computed rtype>) work as expected
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10633
diff
changeset
|
64 |
__permissions__ = {'read': ('managers', 'users')} |
ec97974b9010
make sync_schema_props_perms(<computed rtype>) work as expected
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
10633
diff
changeset
|
65 |
rule = 'S employees E, O concerns E' |