# HG changeset patch # User Laure Bourgois <Laure.Bourgois@logilab.fr> # Date 1235753092 -3600 # Fri Feb 27 17:44:52 2009 +0100 # Node ID ea5822d2e6f43f5d6bcd1fde50d31f9abf5dbb38 # Parent aec47dd6493f44254d83f6855e25d5fa5818900b blog implements ISiocContainer, blogentry implements ISiocItem diff --git a/entities.py b/entities.py --- a/entities.py +++ b/entities.py @@ -8,14 +8,14 @@ __docformat__ = "restructuredtext en" from cubicweb.entities import AnyEntity, fetch_config -from cubicweb.interfaces import ICalendarViews, ICalendarable +from cubicweb.interfaces import ICalendarViews, ICalendarable, ISiocItem, ISiocContainer from logilab.mtconverter import html_escape class BlogEntry(AnyEntity): """customized class for BlogEntry entities""" id = 'BlogEntry' fetch_attrs, fetch_order = fetch_config(['creation_date', 'title'], order='DESC') - __implements__ = (ICalendarViews, ICalendarable) + __implements__ = (ICalendarViews, ICalendarable, ISiocItem) def dc_title(self): return self.title @@ -44,12 +44,32 @@ descr = u'%s %s' % (_('posted on'), self.format_date(self.creation_date)) return descr + def isioc_item_creator(self): + return self.creator + + def isioc_item_content(self): + return self.content + + def isioc_item_container(self): + rset = self.related('entry_of') + entity = rset.get_entity(0, 0) + return entity + + def isioc_item_get_reply(self): + pass + + def isioc_item_creation_date(self): + return self.creation_date + + def isioc_item_modification_date(self): + return self.modification_date class Blog(AnyEntity): """customized class for Blog entities""" id = 'Blog' __rtags__ = {'entry_of': 'create'} + __implements__ = AnyEntity.__implements__ + (ISiocContainer,) def rss_feed_url(self): @@ -57,6 +77,19 @@ return self.rss_url rql = 'Any E ORDERBY D DESC WHERE E is BlogEntry, E entry_of X, X eid %s, E creation_date D' % self.eid return self.build_url(rql=rql, vid='rss', vtitle=self.dc_title()) + + def isioc_container_type(self): + return 'Weblog' + + def isioc_container_creation_date(self): + return self.creation_date + + def isioc_container_modification_date(self): + return self.modification_date + + + +