146 def feed_url(self): |
146 def feed_url(self): |
147 entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0) |
147 entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0) |
148 return entity.cw_adapt_to('IFeed').rss_feed_url() |
148 return entity.cw_adapt_to('IFeed').rss_feed_url() |
149 |
149 |
150 |
150 |
151 class RSSIconBox(box.BoxTemplate): |
151 class RSSIconBox(box.Box): |
152 """just display the RSS icon on uniform result set""" |
152 """just display the RSS icon on uniform result set""" |
153 __regid__ = 'rss' |
153 __regid__ = 'rss' |
154 __select__ = (box.BoxTemplate.__select__ |
154 __select__ = (box.Box.__select__ |
155 & appobject_selectable('components', 'rss_feed_url')) |
155 & appobject_selectable('components', 'rss_feed_url')) |
156 |
156 |
157 visible = False |
157 visible = False |
158 order = 999 |
158 order = 999 |
159 |
159 |
160 def call(self, **kwargs): |
160 def render(self, w, **kwargs): |
161 try: |
161 try: |
162 rss = self._cw.uiprops['RSS_LOGO'] |
162 rss = self._cw.uiprops['RSS_LOGO'] |
163 except KeyError: |
163 except KeyError: |
164 self.error('missing RSS_LOGO external resource') |
164 self.error('missing RSS_LOGO external resource') |
165 return |
165 return |
166 urlgetter = self._cw.vreg['components'].select('rss_feed_url', self._cw, |
166 urlgetter = self._cw.vreg['components'].select('rss_feed_url', self._cw, |
167 rset=self.cw_rset) |
167 rset=self.cw_rset) |
168 url = urlgetter.feed_url() |
168 url = urlgetter.feed_url() |
169 self.w(u'<a href="%s"><img src="%s" alt="rss"/></a>\n' % (xml_escape(url), rss)) |
169 w(u'<a href="%s"><img src="%s" alt="rss"/></a>\n' % (xml_escape(url), rss)) |
170 |
170 |
171 |
171 |
172 class RSSView(XMLView): |
172 class RSSView(XMLView): |
173 __regid__ = 'rss' |
173 __regid__ = 'rss' |
174 title = _('rss') |
174 title = _('rss') |