Handles the lifecycle of objects for the Horae resource planning system
horae.lifecycle handles the lifecycle of objects for the Horae resource planning system. It stores the creator, creation_date, modifier and modification_date of objects implementing horae.lifecycle.interfaces.ILifecycleAware. Additionally it provides a viewlet displaying the collected information in context and a storage for latest objects of a user which tracks what objects were changed by a given user.
The easiest way to activate the functionality provided by horae.lifecycle is to subclass from the provided mix in class horae.lifecycle.lifecycle.LifecycleAwareMixin:
import grok from horae.lifecycle import lifecycle class SampleContent(grok.Model, lifecycle.LifecycleAwareMixin): """ Sample content aware of his lifecycle """
The latest storage is provided as an adapter implementing horae.lifecycle.interfaces.ILatest and adapting a principal. There is a convenience adapter adapting the request available which returns the storage for the current user:
from horae.lifecycle import interfaces class SampleView(grok.View): def latest(self): latest = interfaces.ILatest(self.request) return latest.objects()
- Initial release