cubicweb/test/data/cubicweb_comment/schema.py
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Fri, 15 Mar 2019 18:07:18 +0100
changeset 12518 12e8b65146d9
permissions -rw-r--r--
[test] drop dependency on third party cubes Drop dependency on cubicweb-file, cubicweb-localperms, cubicweb-tag and cubicweb-comment for cubicweb.test and cubicweb.sobjects.test Move cubicweb/test/data/libpython/cubicweb_* to cubicweb/test/data, so it's included in PYTHONPATH. Add missing parts of schema, entities, views, hooks that make tests pass.

from yams.buildobjs import (EntityType, RelationType, SubjectRelation,
                            RichString)
from cubicweb.schema import RRQLExpression


class Comment(EntityType):
    """a comment is a reply about another entity"""
    __permissions__ = {
        'read':   ('managers', 'users', 'guests',),
        'add':    ('managers', 'users',),
        'delete': ('managers', 'owners',),
        'update': ('managers', 'owners',),
        }
    content = RichString(required=True, fulltextindexed=True)
    comments = SubjectRelation('Comment', cardinality='1*', composite='object')


class comments(RelationType):
    __permissions__ = {
        'read':   ('managers', 'users', 'guests'),
        'add':    ('managers', 'users',),
        'delete': ('managers', RRQLExpression('S owned_by U'),),
        }
    inlined = True
    composite = 'object'
    cardinality = '1*'