# -*- python -*- import __main__, dbagg, logging, iso8601, time, dbagg.web from twisted.web.woven import controller, widgets from twisted.web.util import redirectTo ################################################################################ # TODO: Need a 'Mark all as read' button on sources, to hide all visible items. class HideItemPage(dbagg.web.AggPage): templateFile = "hide_item.html.tmpl" def initialize(self, *args, **kwargs): self.log = logging.getLogger("%s"%self.__class__) self.conn = kwargs['conn'] self.sources = kwargs['sources'] self.items = kwargs['items'] def wmfactory_item_id(self, request): return request.args.get('id', ['none'])[0] def renderView(self, request): item_id = self.wmfactory_item_id(request) item = self.items.get_item(item_id) if not item is None: item.set_meta('hidden', 1) return dbagg.web.AggPage.renderView(self, request) ################################################################################ resource = HideItemPage(conn=__main__.conn, \ sources=__main__.sources, \ items=__main__.items)