diff --git a/migration/0.4.0_Any.py b/migration/0.4.0_Any.py new file mode 100644 index 0000000000000000000000000000000000000000..1ee82b460998ac393f5dbbe324fe12bad2f9bc37_bWlncmF0aW9uLzAuNC4wX0FueS5weQ== --- /dev/null +++ b/migration/0.4.0_Any.py @@ -0,0 +1,1 @@ +sync_schema_props_perms('spent_for') diff --git a/schema.py b/schema.py index bd4d1dc13ff08c7c8939261beb9df24e3cbe9210_c2NoZW1hLnB5..1ee82b460998ac393f5dbbe324fe12bad2f9bc37_c2NoZW1hLnB5 100644 --- a/schema.py +++ b/schema.py @@ -1,3 +1,4 @@ # template's specific schema -from yams.buildobjs import SubjectRelation +from yams.buildobjs import RelationDefinition +from cubicweb.schema import RRQLExpression @@ -3,5 +4,10 @@ -from cubes.expense.schema import Expense - -Expense.add_relation(SubjectRelation('Workcase', cardinality='?*'), - name='spent_for') +class spent_for(RelationDefinition): + subject = 'Expense' + object = 'Workcase' + cardinality = '?*' + __permissions__ = { + 'read' : ('managers', 'users'), + 'add': ('managers', RRQLExpression('S in_state ST, NOT ST name "accepted"')), + 'delete': ('managers', RRQLExpression('S in_state ST, NOT ST name "accepted"')), + }