hooks/metadata.py
brancholdstable
changeset 6665 90f2f20367bc
parent 5877 0c7b7b76a84f
child 6142 8bc6eac1fac1
equal deleted inserted replaced
6018:f4d1d5d9ccbb 6665:90f2f20367bc
    19 
    19 
    20 __docformat__ = "restructuredtext en"
    20 __docformat__ = "restructuredtext en"
    21 
    21 
    22 from datetime import datetime
    22 from datetime import datetime
    23 
    23 
    24 from cubicweb.selectors import implements
    24 from cubicweb.selectors import is_instance
    25 from cubicweb.server import hook
    25 from cubicweb.server import hook
    26 from cubicweb.server.utils import eschema_eid
    26 from cubicweb.server.utils import eschema_eid
    27 
    27 
    28 
    28 
    29 class MetaDataHook(hook.Hook):
    29 class MetaDataHook(hook.Hook):
   138 
   138 
   139 
   139 
   140 class FixUserOwnershipHook(MetaDataHook):
   140 class FixUserOwnershipHook(MetaDataHook):
   141     """when a user has been created, add owned_by relation on itself"""
   141     """when a user has been created, add owned_by relation on itself"""
   142     __regid__ = 'fixuserowner'
   142     __regid__ = 'fixuserowner'
   143     __select__ = MetaDataHook.__select__ & implements('CWUser')
   143     __select__ = MetaDataHook.__select__ & is_instance('CWUser')
   144     events = ('after_add_entity',)
   144     events = ('after_add_entity',)
   145 
   145 
   146     def __call__(self):
   146     def __call__(self):
   147         self._cw.add_relation(self.entity.eid, 'owned_by', self.entity.eid)
   147         self._cw.add_relation(self.entity.eid, 'owned_by', self.entity.eid)
   148 
   148